|
xkbcommon 1.14.0-beta2
Reference library implementing the XKB specification for parsing keyboard descriptions and handling keyboard state
|
#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_status | xkb_event_get_keycode (const struct xkb_event *event, xkb_keycode_t *keycode, enum xkb_key_direction *direction) |
| XKB_EXPORT enum xkb_status | xkb_event_get_components (const struct xkb_event *event, struct xkb_event_components *components) |
| XKB_EXPORT enum xkb_status | xkb_event_get_pointer_motion (const struct xkb_event *event, struct xkb_event_pointer_motion *motion) |
| XKB_EXPORT enum xkb_status | xkb_event_get_pointer_button (const struct xkb_event *event, struct xkb_event_pointer_button *button) |
| XKB_EXPORT enum xkb_status | xkb_event_get_virtual_console (const struct xkb_event *event, int8_t *index_or_offset, bool *is_offset) |
Opaque keyboard state event object.
xkb_events. An event is valid only inside a frame. 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_INVALID | (no getter: denotes an error) |
XKB_EVENT_TYPE_FRAME | (no getter: denotes a frame boundary) |
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() |
enum xkb_event_type struct xkb_events