xkbcommon 1.14.0-beta2
Reference library implementing the XKB specification for parsing keyboard descriptions and handling keyboard state
Loading...
Searching...
No Matches
Public Member Functions
xkb_event Struct Reference

#include <xkbcommon.h>

Public Member Functions

XKB_EXPORT enum xkb_event_type xkb_event_get_type (const struct xkb_event *event)
 
XKB_EXPORT enum xkb_error_code xkb_event_get_keycode (const struct xkb_event *event, xkb_keycode_t *keycode, enum xkb_key_direction *direction)
 
XKB_EXPORT enum xkb_error_code xkb_event_get_components (const struct xkb_event *event, struct xkb_event_components *components)
 
XKB_EXPORT enum xkb_error_code xkb_event_get_pointer_motion (const struct xkb_event *event, struct xkb_event_pointer_motion *motion)
 
XKB_EXPORT enum xkb_error_code xkb_event_get_pointer_button (const struct xkb_event *event, struct xkb_event_pointer_button *button)
 
XKB_EXPORT enum xkb_error_code xkb_event_get_virtual_console (const struct xkb_event *event, int8_t *index_or_offset, bool *is_offset)
 

Detailed Description

Opaque keyboard state event object.

Events are produced by xkb_machine::xkb_machine_process_key() and xkb_machine::xkb_machine_process_synthetic() and collected into an xkb_events batch. Each event represents one atomic state change or key action within a frame.

Inspect the event type with xkb_event::xkb_event_get_type(), then extract data with the appropriate function:

Event type Getter
XKB_EVENT_TYPE_KEY xkb_event::xkb_event_get_keycode()
XKB_EVENT_TYPE_STATE_COMPONENTS xkb_event::xkb_event_get_components()
XKB_EVENT_TYPE_POINTER_MOTION xkb_event::xkb_event_get_pointer_motion()
XKB_EVENT_TYPE_POINTER_BUTTON xkb_event::xkb_event_get_pointer_button()
XKB_EVENT_TYPE_TERMINATE_DISPLAY_SERVER (no getter)
XKB_EVENT_TYPE_SWITCH_VIRTUAL_CONSOLE xkb_event::xkb_event_get_virtual_console()
Warning
Event pointers are only valid until the next call to xkb_machine::xkb_machine_process_key() or xkb_machine::xkb_machine_process_synthetic() on the same state machine. Do not store them beyond that point.
See also
enum xkb_event_type
struct xkb_events
Since
1.14.0

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