libxkbcommon 0.4.2

Keysym Transformations

Keysym translation is subject to several "keysym transformations", as described in the XKB specification.

These are:

  • Capitalization transformation. If the Caps Lock modifier is active and was not consumed by the translation process, a single keysym is transformed to its upper-case form (if applicable). Similarly, the UTF-8/UTF-32 string produced is capitalized.

This is described in: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Lock_Modifier

  • Control transformation. If the Control modifier is active and was not consumed by the translation process, the string produced is transformed to its matching ASCII control character (if applicable). Keysyms are not affected.

This is described in: http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier

Each relevant function discusses which transformations it performs.

These transformations are not applicable when a key produces multiple keysyms.