|
libxkbcommon 1.13.0
Library implementing the XKB specification for parsing keyboard descriptions and handling keyboard state
|
#include <xkbcommon.h>
Data Fields | |
| size_t | size |
| enum xkb_state_component | components |
| xkb_mod_mask_t | affect_latched_mods |
| xkb_mod_mask_t | latched_mods |
| xkb_mod_mask_t | affect_locked_mods |
| xkb_mod_mask_t | locked_mods |
| int32_t | latched_layout |
| int32_t | locked_layout |
| enum xkb_keyboard_control_flags | affect_controls |
| enum xkb_keyboard_control_flags | controls |
Latched and locked state components for an out-of-band state update.
Carries the modifier, layout and boolean controls assignments for xkb_state_update. Used to update latched and locked modifiers and layouts atomically via xkb_machine::xkb_machine_process_synthetic().
Which fields are considered is determined by components:
XKB_STATE_MODS_LATCHED → affect_latched_mods, latched_modsXKB_STATE_MODS_LOCKED → affect_locked_mods, locked_modsXKB_STATE_LAYOUT_LATCHED → latched_layoutXKB_STATE_LAYOUT_LOCKED → locked_layoutXKB_STATE_CONTROLS → affect_controls, controlsxkb_state_update | size_t xkb_state_components_update::size |
Size of this structure, for forward-compatibility.
Must be set to sizeof(struct xkb_state_components_update). If the caller’s size exceeds the library’s (e.g. version mismatch), an error is returned unless all extra bytes are zero.
| enum xkb_state_component xkb_state_components_update::components |
Mask of state components to update.
The following components are meaningful:
XKB_STATE_MODS_LATCHEDXKB_STATE_MODS_LOCKEDXKB_STATE_LAYOUT_LATCHEDXKB_STATE_LAYOUT_LOCKEDXKB_STATE_CONTROLSOther components are ignored.
| xkb_mod_mask_t xkb_state_components_update::affect_latched_mods |
Mask of latched modifiers to affect.
Only modifiers present in this mask are considered when updating latched_mods. Only considered if XKB_STATE_MODS_LATCHED is set in components.
| xkb_mod_mask_t xkb_state_components_update::latched_mods |
Modifiers to set as latched or unlatched.
Only modifiers in affect_latched_mods are considered. Only considered if XKB_STATE_MODS_LATCHED is set in components.
| xkb_mod_mask_t xkb_state_components_update::affect_locked_mods |
Mask of locked modifiers to affect.
Only modifiers present in this mask are considered when updating locked_mods. Only considered if XKB_STATE_MODS_LOCKED is set in components.
| xkb_mod_mask_t xkb_state_components_update::locked_mods |
Modifiers to set as locked or unlocked.
Only modifiers in affect_locked_mods are considered. Only considered if XKB_STATE_MODS_LOCKED is set in components.
| int32_t xkb_state_components_update::latched_layout |
Layout to latch.
May be out of range (including negative); the layout is brought into range according to the current out-of-range layout policy. Only considered if XKB_STATE_LAYOUT_LATCHED is set in components.
| int32_t xkb_state_components_update::locked_layout |
Layout to lock.
May be out of range (including negative); the layout is brought into range according to the current out-of-range layout policy. Only considered if XKB_STATE_LAYOUT_LOCKED is set in components.
| enum xkb_keyboard_control_flags xkb_state_components_update::affect_controls |
Boolean keyboard controls to affect.
Only controls present in this mask are considered when updating controls. Only considered if XKB_STATE_CONTROLS is set in components.
xkb_keyboard_control_flags | enum xkb_keyboard_control_flags xkb_state_components_update::controls |
Boolean keyboard controls to enable or disable.
Only controls in affect_controls are considered. Only considered if XKB_STATE_CONTROLS is set in components.
xkb_keyboard_control_flags