libxkbcommon
1.10.0
Library implementing the XKB specification for parsing keyboard descriptions and handling keyboard state
|
#include <xkbcommon.h>
Data Fields | |
const char * | rules |
const char * | model |
const char * | layout |
const char * | variant |
const char * | options |
Names to compile a keymap with, also known as RMLVO.
The names are the common configuration values by which a user picks a keymap.
If the entire struct is NULL
, then each field is taken to be NULL
. You should prefer passing NULL
instead of choosing your own defaults.
const char* xkb_rule_names::rules |
The rules file to use.
The rules file describes how to interpret the values of the model, layout, variant and options fields.
If NULL
or the empty string ""
, a default value is used. If the XKB_DEFAULT_RULES
environment variable is set, it is used as the default. Otherwise the system default is used.
const char* xkb_rule_names::model |
The keyboard model by which to interpret keycodes and LEDs.
If NULL
or the empty string ""
, a default value is used. If the XKB_DEFAULT_MODEL
environment variable is set, it is used as the default. Otherwise the system default is used.
const char* xkb_rule_names::layout |
A comma separated list of layouts (languages) to include in the keymap.
If NULL
or the empty string ""
, a default value is used. If the XKB_DEFAULT_LAYOUT
environment variable is set, it is used as the default. Otherwise the system default is used.
const char* xkb_rule_names::variant |
A comma separated list of variants, one per layout, which may modify or augment the respective layout in various ways.
Generally, should either be empty or have the same number of values as the number of layouts. You may use empty values as in intl,,neo
.
If NULL
or the empty string ""
, and a default value is also used for the layout, a default value is used. Otherwise no variant is used. If the XKB_DEFAULT_VARIANT
environment variable is set, it is used as the default. Otherwise the system default is used.
const char* xkb_rule_names::options |
A comma separated list of options, through which the user specifies non-layout related preferences, like which key combinations are used for switching layouts, or which key is the Compose key.
If NULL
, a default value is used. If the empty string ""
, no options are used. If the XKB_DEFAULT_OPTIONS
environment variable is set, it is used as the default. Otherwise the system default is used.
Each option can additionally have a layout index specifier, so that it applies only if matching the given layout. The index is specified by appending !
immediately after the option name, then the 1-indexed target layout in decimal format: e.g. ns:option!2
. When no layout is specified, it matches any layout.
rxkb_option_is_layout_specific()
to query whether an option supports the layout-specific feature.!
.