xkb_keymap Struct Reference

`#include <xkbcommon.h>`

## Public Types

typedef void(* | xkb_keymap_key_iter_t) (struct xkb_keymap *keymap, xkb_keycode_t key, void *data)

## 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)
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)
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)
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)
struct xkb_keymap * | xkb_keymap_ref (struct xkb_keymap *keymap)
void | xkb_keymap_unref (struct xkb_keymap *keymap)
char * | xkb_keymap_get_as_string (struct xkb_keymap *keymap, enum xkb_keymap_format format)
xkb_keycode_t | xkb_keymap_min_keycode (struct xkb_keymap *keymap)
xkb_keycode_t | xkb_keymap_max_keycode (struct xkb_keymap *keymap)
void | xkb_keymap_key_for_each (struct xkb_keymap *keymap, xkb_keymap_key_iter_t iter, void *data)
xkb_mod_index_t | xkb_keymap_num_mods (struct xkb_keymap *keymap)
const char * | xkb_keymap_mod_get_name (struct xkb_keymap *keymap, xkb_mod_index_t idx)
xkb_mod_index_t | xkb_keymap_mod_get_index (struct xkb_keymap *keymap, const char *name)
xkb_layout_index_t | xkb_keymap_num_layouts (struct xkb_keymap *keymap)
const char * | xkb_keymap_layout_get_name (struct xkb_keymap *keymap, xkb_layout_index_t idx)
xkb_layout_index_t | xkb_keymap_layout_get_index (struct xkb_keymap *keymap, const char *name)
xkb_led_index_t | xkb_keymap_num_leds (struct xkb_keymap *keymap)
const char * | xkb_keymap_led_get_name (struct xkb_keymap *keymap, xkb_led_index_t idx)
xkb_led_index_t | xkb_keymap_led_get_index (struct xkb_keymap *keymap, const char *name)
xkb_layout_index_t | xkb_keymap_num_layouts_for_key (struct xkb_keymap *keymap, xkb_keycode_t key)
xkb_level_index_t | xkb_keymap_num_levels_for_key (struct xkb_keymap *keymap, xkb_keycode_t key, xkb_layout_index_t layout)
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)
int | xkb_keymap_key_repeats (struct xkb_keymap *keymap, xkb_keycode_t key)
struct xkb_keymap * | xkb_x11_keymap_new_from_device (struct xkb_context *context, xcb_connection_t *connection, int32_t device_id, enum xkb_keymap_compile_flags flags)

## Detailed Description

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.

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

- xkbcommon/xkbcommon.h
- xkbcommon/xkbcommon-x11.h