option

services.xcape.mapExpression

The value has the grammar Key[|OtherKey].

The list of key names is found in the header file X11/keysymdef.h (remove the XK_ prefix). Note that due to limitations of X11 shifted keys must be specified as a shift key followed by the key to be pressed rather than the actual name of the character. For example to generate "{" the expression Shift_L|bracketleft could be used (assuming that you have a key with "{" above "[").

You can also specify keys in decimal (prefix #), octal (#0), or hexadecimal (#0x). They will be interpreted as keycodes unless no corresponding key name is found.

Declarations
Type
attribute set of string
Default
{ }
Example
{
  Control_L = "Control_L|O";
  Shift_L = "Escape";
}