libxkbcommon
0.3.2
|
Opaque compiled keymap object. More...
#include <xkbcommon.h>
Public Types | |
typedef void(* | xkb_keymap_key_iter_t )(struct xkb_keymap *keymap, xkb_keycode_t key, void *data) |
The iterator used by xkb_keymap_key_for_each(). More... | |
Public Member Functions | |
struct xkb_keymap * | xkb_keymap_new_from_names (struct xkb_context *context, const struct xkb_rule_names *names, enum xkb_keymap_compile_flags flags) |
Create a keymap from RMLVO names. More... | |
struct xkb_keymap * | xkb_keymap_new_from_file (struct xkb_context *context, FILE *file, enum xkb_keymap_format format, enum xkb_keymap_compile_flags flags) |
Create a keymap from a keymap file. More... | |
struct xkb_keymap * | xkb_keymap_new_from_string (struct xkb_context *context, const char *string, enum xkb_keymap_format format, enum xkb_keymap_compile_flags flags) |
Create a keymap from a keymap string. More... | |
struct xkb_keymap * | xkb_keymap_new_from_buffer (struct xkb_context *context, const char *buffer, size_t length, enum xkb_keymap_format format, enum xkb_keymap_compile_flags flags) |
Create a keymap from a memory buffer. More... | |
struct xkb_keymap * | xkb_keymap_ref (struct xkb_keymap *keymap) |
Take a new reference on a keymap. More... | |
void | xkb_keymap_unref (struct xkb_keymap *keymap) |
Release a reference on a keymap, and possibly free it. More... | |
char * | xkb_keymap_get_as_string (struct xkb_keymap *keymap, enum xkb_keymap_format format) |
Get the compiled keymap as a string. More... | |
xkb_keycode_t | xkb_keymap_min_keycode (struct xkb_keymap *keymap) |
Get the minimum keycode in the keymap. More... | |
xkb_keycode_t | xkb_keymap_max_keycode (struct xkb_keymap *keymap) |
Get the maximum keycode in the keymap. More... | |
void | xkb_keymap_key_for_each (struct xkb_keymap *keymap, xkb_keymap_key_iter_t iter, void *data) |
Run a specified function for every valid keycode in the keymap. More... | |
xkb_mod_index_t | xkb_keymap_num_mods (struct xkb_keymap *keymap) |
Get the number of modifiers in the keymap. More... | |
const char * | xkb_keymap_mod_get_name (struct xkb_keymap *keymap, xkb_mod_index_t idx) |
Get the name of a modifier by index. More... | |
xkb_mod_index_t | xkb_keymap_mod_get_index (struct xkb_keymap *keymap, const char *name) |
Get the index of a modifier by name. More... | |
xkb_layout_index_t | xkb_keymap_num_layouts (struct xkb_keymap *keymap) |
Get the number of layouts in the keymap. More... | |
const char * | xkb_keymap_layout_get_name (struct xkb_keymap *keymap, xkb_layout_index_t idx) |
Get the name of a layout by index. More... | |
xkb_layout_index_t | xkb_keymap_layout_get_index (struct xkb_keymap *keymap, const char *name) |
Get the index of a layout by name. More... | |
xkb_layout_index_t | xkb_keymap_num_layouts_for_key (struct xkb_keymap *keymap, xkb_keycode_t key) |
Get the number of layouts for a specific key. More... | |
xkb_level_index_t | xkb_keymap_num_levels_for_key (struct xkb_keymap *keymap, xkb_keycode_t key, xkb_layout_index_t layout) |
Get the number of shift levels for a specific key and layout. More... | |
int | xkb_keymap_key_get_syms_by_level (struct xkb_keymap *keymap, xkb_keycode_t key, xkb_layout_index_t layout, xkb_level_index_t level, const xkb_keysym_t **syms_out) |
Get the keysyms obtained from pressing a key in a given layout and shift level. More... | |
xkb_led_index_t | xkb_keymap_num_leds (struct xkb_keymap *keymap) |
Get the number of LEDs in the keymap. More... | |
const char * | xkb_keymap_led_get_name (struct xkb_keymap *keymap, xkb_led_index_t idx) |
Get the name of a LED by index. More... | |
xkb_led_index_t | xkb_keymap_led_get_index (struct xkb_keymap *keymap, const char *name) |
Get the index of a LED by name. More... | |
int | xkb_keymap_key_repeats (struct xkb_keymap *keymap, xkb_keycode_t key) |
Determine whether a key should repeat or not. More... | |
Opaque compiled keymap object.
The keymap object holds all of the static keyboard information obtained from compiling XKB files.
A keymap is immutable after it is created (besides reference counts, etc.); if you need to change it, you must create a new one.