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_machine_builder Struct Reference

#include <xkbcommon.h>

Public Member Functions

XKB_EXPORT struct xkb_machine_builder * xkb_machine_builder_new (struct xkb_keymap *keymap, const struct xkb_machine_builder_config *config, enum xkb_status *status)
 
XKB_EXPORT struct xkb_machine_builder * xkb_machine_builder_ref (struct xkb_machine_builder *builder)
 
XKB_EXPORT void xkb_machine_builder_unref (struct xkb_machine_builder *builder)
 
XKB_EXPORT struct xkb_keymap * xkb_machine_builder_get_keymap (const struct xkb_machine_builder *builder)
 
XKB_EXPORT enum xkb_status xkb_machine_builder_update_a11y (struct xkb_machine_builder *builder, const struct xkb_machine_builder_a11y_update *update)
 
XKB_EXPORT enum xkb_status xkb_machine_builder_update_mods_remap (struct xkb_machine_builder *builder, const struct xkb_machine_builder_mods_remap_update *update)
 
XKB_EXPORT enum xkb_status xkb_machine_builder_update_shortcut_override (struct xkb_machine_builder *builder, const struct xkb_machine_builder_shortcut_override_update *update)
 

Detailed Description

Opaque builder object to configure an xkb_machine.

Create with xkb_machine_builder_new(), configure with the xkb_machine_builder_*() functions, then build the state machine with xkb_machine::xkb_machine_new(). The builder object may be reused to create multiple xkb_machine objects and destroyed when no longer needed. If a single xkb_machine object is built, then the builder may be destroyed immediately after xkb_machine::xkb_machine_new() returns.

Ownership:

_Shared_ ownership using reference counting. Heap-allocated by xkb_machine_builder_new(), which creates the first reference. Take additional references with xkb_machine_builder_ref() and release each of them with exactly one xkb_machine_builder_unref() call. The object is destroyed once its last reference has been released.

Owns a reference to the xkb_keymap passed during initialization, kept for the entire lifetime of the xkb_machine_builder instance and released when calling xkb_machine_builder_unref().

Invariant
The referenced xkb_keymap remains valid for the entire lifetime of an xkb_machine_builder instance thanks to reference counting on xkb_keymap. You may release your own reference as soon as the xkb_machine_builder is created.
See also
struct xkb_machine_builder_config
xkb_machine_builder::xkb_machine_builder_new()
xkb_machine::xkb_machine_new()
Since
1.14.0

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