|
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 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) |
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.
_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().
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. struct xkb_machine_builder_config xkb_machine_builder::xkb_machine_builder_new() xkb_machine::xkb_machine_new()