Loading...
Searching...
No Matches
xkb_rule_names Struct Reference
Rules

`#include <xkbcommon.h>`

## Data Fields

const char * | rules
const char * | model
const char * | layout
const char * | variant
const char * | options

## Detailed Description

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.

See also
  Introduction to RMLVO
  Rules

## Field Documentation

## rules

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.

## model

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.

## layout

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.

## variant

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.

## options

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.

Note
  The layout index specifier is only effectual if the corresponding ruleset has the proper rules to handle the option as layout-specific.
  See rxkb_option_is_layout_specific() to query whether an option supports the layout-specific feature.

Since
  1.11.0: Layout index specifier using !.

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

- include/xkbcommon/xkbcommon.h