xkbcommon 1.14.0-beta2
Reference 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

uint32_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
 

Detailed Description

Latched and locked state components for an out-of-band state update.

Carries the modifier, layout and boolean controls assignments for xkb_synthetic_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:

Note
This struct uses a size-based versioning; see Extensible structure ABI contract for further details.
See also
struct xkb_synthetic_update
xkb_machine::xkb_machine_process_synthetic()
Since
1.14.0

Field Documentation

◆ size

uint32_t xkb_state_components_update::size

Size of this structure in bytes.

See also
Extensible structure ABI contract
Since
1.14.0

◆ components

uint32_t xkb_state_components_update::components

Mask of state components to update.

The following components are meaningful:

Other components are ignored.

See also
enum xkb_state_component
Since
1.14.0

◆ 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.

Since
1.14.0

◆ 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.

Since
1.14.0

◆ 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.

Since
1.14.0

◆ 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.

Since
1.14.0

◆ 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
Since
1.14.0

◆ 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
Since
1.14.0

◆ affect_controls

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_EFFECTIVE is set in #components.

See also
enum xkb_keyboard_control_flags
Since
1.14.0

◆ controls

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_EFFECTIVE is set in #components.

See also
enum xkb_keyboard_control_flags
Since
1.14.0

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