|
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 |
| uint32_t | 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 |
| uint32_t | affect_controls |
| uint32_t | controls |
Private Attributes | |
| uint32_t | reserved |
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, controlsmemset() before setting any fields: sizeof(struct xkb_state_components_update). xkb_state_update | size_t xkb_state_components_update::size |
Size of this structure, for forward-compatibility.
XKB_ERROR_ABI_INVALID_STRUCT_SIZE XKB_ERROR_ABI_BACKWARD_COMPAT XKB_ERROR_ABI_FORWARD_COMPAT| uint32_t 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_state_component| 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.
xkb_layout_index_t| 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.
xkb_layout_index_t| uint32_t xkb_state_components_update::affect_controls |
Mask of 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| uint32_t xkb_state_components_update::controls |
Mask of 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
|
private |
Reserved for future extensions.
0 by the caller.