libxkbcommon
1.9.2
LibraryimplementingtheXKBspecificationforparsingkeyboarddescriptionsandhandlingkeyboardstate
|
See: ./introduction-to-xkb.md "Introduction to XKB".
See: terminology.
The xkbcommon project does not provide keyboard layouts. See the xkeyboard-config project for further information.
See this issue.
There could be many reasons!
libxkbcommon may not be able to load your configuration due to an issue (file not found, syntax error, unsupported keysym, etc.). Please use our ./debugging.md "debugging tools" to get further information.
Note that the xkbcommon project does not provide keyboard layouts. See the xkeyboard-config project for further information.
This is most probably an issue with your Compose configuration. If you customized it, do not forget to restart your session before trying it.
Please use our ./debugging.md "debugging tools" with the option --enable-compose
to get further information.
This project does not provide any keyboard layout database:
See also the ./keymap-format-text-v1.md "keymap text format" documentation for the syntax.
🚧 TODO
The virtual modifiers mappings to real modifiers is an implementation detail that is not exposed directly. However, some applications may require it in order to interface with legacy code. These may adapt the following snippet:
``c // Find the real modifier mapping of the virtual modifier
LevelThree` #include <xkbcommon/xkbcommon-names.h> const xkb_mod_index_t levelThree_idx = xkb_keymap_mod_get_index(keymap, XKB_VMOD_NAME_LEVEL3); const xkb_mod_mask_t levelThree = UINT32_C(1) << levelThree_idx; struct xkb_state* state = xkb_state_new(keymap); assert(state); // Please handle error properly xkb_state_update_mask(state, levelThree, 0, 0, 0, 0, 0); const xkb_mod_mask_t levelThree_mapping = xkb_state_serialize_mods(state, XKB_STATE_MODS_EFFECTIVE); xkb_state_unref(state); ```