libxkbcommon 1.13.0
Library implementing the XKB specification for parsing keyboard descriptions and handling keyboard state
Loading...
Searching...
No Matches
Data Fields
xkb_state_components_update Struct Reference

#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
 

Detailed Description

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:

Since
1.14.0
See also
xkb_state_update

Field Documentation

◆ size

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.

◆ components

enum xkb_state_component xkb_state_components_update::components

Mask of state components to update.

The following components are meaningful:

Other components are ignored.

◆ affect_latched_mods

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.

◆ latched_mods

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.

◆ affect_locked_mods

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.

◆ locked_mods

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.

◆ latched_layout

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.

See also
xkb_layout_index_t

◆ locked_layout

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.

See also
xkb_layout_index_t

◆ affect_controls

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.

See also
xkb_keyboard_control_flags

◆ controls

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.

See also
xkb_keyboard_control_flags

The documentation for this struct was generated from the following file: