libxkbcommon 1.13.2 Library implementing the XKB specification for parsing keyboard descriptions and handling keyboard state

Loading...
Searching...
No Matches
Error index

This page lists the warnings and errors generated by xkbcommon. There are currently 75 entries.

Todo
  The documentation of the log messages is a work in progress.

# Index

Code | Identifier | Description | Type
--- | --- | --- | ---
XKB-034 | malformed-number-literal | Warn on malformed number literals | Error
XKB-043 | conflicting-key-type-preserve-entries | Conflicting “preserve” entries in a key type | Warning
XKB-052 | integer-overflow | The result of the operation is not mathematically correct | Error
XKB-060 | unsupported-modifier-mask | Warn on unsupported modifier mask | Error
XKB-077 | expected-array-entry | Expected an array entry, but the index is missing | Error
XKB-082 | invalid-numeric-keysym | Invalid numeric keysym | Error
XKB-101 | illegal-keycode-alias | Illegal keycode alias with the name of a real key | Warning
XKB-107 | unrecognized-keysym | Warn on unrecognized keysyms | Warning
XKB-123 | undeclared-virtual-modifier | A virtual modifier is used before being declared | Error
XKB-134 | insufficient-buffer-size | A buffer has an insufficient size | Error
XKB-150 | wrong-statement-type | The type of the statement is not allowed in the context | Error
XKB-161 | invalid-path | The given path is invalid | Error
XKB-172 | unsupported-geometry-section | Geometry sections are not supported | Warning
XKB-183 | cannot-infer-key-type | Warn if no key type can be inferred | Warning
XKB-193 | invalid-escape-sequence | Invalid escape sequence in a string | Warning
XKB-195 | illegal-key-type-preserve-result | The result of a key type “preserve” entry must be a subset of its input modifiers. | Warning
XKB-203 | invalid-include-statement | Syntax error in the include statement | Error
XKB-206 | invalid-modmap-entry | A modmap entry is invalid | Error
XKB-237 | unsupported-group-index | Warn when a group index is not supported | Error
XKB-239 | conflicting-key-type-level-names | The name of a key type level is defined multiple times. | Warning
XKB-254 | invalid-set-default-statement | Invalid statement setting default values | Error
XKB-266 | conflicting-key-type-map-entry | Conflicting “map” entries in type definition | Warning
XKB-286 | undefined-key-type | Warn if using an undefined key type | Warning
XKB-301 | deprecated-keysym | A keysym has been deprecated: consider using an alternative keysym | Warning
XKB-302 | deprecated-keysym-name | A keysym name has been deprecated: use the corresponding canonical name instead | Warning
XKB-305 | non-base-group-name | Warn if a group name was defined for group other than the first one | Warning
XKB-312 | unsupported-shift-level | Warn when a shift level is not supported | Error
XKB-338 | included-file-not-found | Could not find a file used in an include statement | Error
XKB-345 | unknown-operator | Use of an operator that is unknown and thus unsupported | Error
XKB-362 | unsupported-legacy-action | Use of a legacy X11 action that is not supported | Warning
XKB-378 | duplicate-entry | An entry is duplicated and will be ignored | Warning
XKB-386 | recursive-include | Included files form cycle | Error
XKB-407 | conflicting-key-type-definitions | Conflicting definitions of a key type | Warning
XKB-428 | global-defaults-wrong-scope | A global defaults statement is in a wrong scope and should be moved | Error
XKB-433 | missing-default-section | Missing default section in included file | Warning
XKB-461 | conflicting-key-symbol | Warn if there are conflicting keysyms while merging keys | Warning
XKB-478 | invalid-operation | The operation is invalid in the context | Error
XKB-489 | numeric-keysym | Warn on numeric keysym (other than 0-9) | Warning
XKB-516 | extra-symbols-ignored | TODO: add description | Warning
XKB-523 | conflicting-key-name | Conflicting definitions of a key name or alias | Warning
XKB-542 | invalid-file-encoding | Invalid file encoding | Error
XKB-550 | allocation-error | Cannot allocate memory | Error
XKB-563 | invalid-action-field | Unknown or unsupported action field | Error
XKB-578 | wrong-field-type | Warn when a field has not the expected type | Error
XKB-595 | cannot-resolve-rmlvo | Cannot resolve a given (Rules, Model, Layout, Variant, Options) configuration | Error
XKB-607 | invalid-unicode-escape-sequence | Invalid Unicode escape sequence | Warning
XKB-623 | invalid-real-modifier | Invalid real modifier | Error
XKB-632 | no-valid-default-include-path | Unable to add any default include path | Error
XKB-639 | unknown-default-field | Cannot set default value to a an unknown field | Error
XKB-645 | unknown-char-escape-sequence | Warn on unknown escape sequence in string literal | Warning
XKB-661 | invalid-included-file | The target file of an include statement could not be processed | Error
XKB-679 | invalid-compose-locale | Invalid locale for Compose | Error
XKB-685 | invalid-compose-syntax | The Compose file syntax is invalid and the entry cannot be parsed | Error
XKB-693 | incompatible-actions-and-keysyms-count | A level has a different number of keysyms and actions | Error
XKB-700 | multiple-groups-at-once | Warn if a key defines multiple groups at once | Warning
XKB-711 | unsupported-symbols-field | A legacy X11 symbol field is not supported | Warning
XKB-742 | incompatible-keymap-text-format | The keymap has features unsupported in the target format | Error
XKB-762 | rules-invalid-layout-index-percent-expansion | Cannot expand %i: missing layout or variant in MLVO rule fields | Error
XKB-769 | invalid-xkb-syntax | The XKB syntax is invalid and the file cannot be parsed | Error
XKB-770 | undefined-keycode | Reference to an undefined keycode | Warning
XKB-784 | invalid-expression-type | An expression has not the expected type | Error
XKB-796 | invalid-value | A value is invalid and will be ignored | Error
XKB-800 | conflicting-modmap | Warn if there are conflicting modmap definitions | Warning
XKB-812 | unknown-field | A field is unknown and will be ignored | Error
XKB-822 | keymap-compilation-failed | Keymap compilation failed | Error
XKB-844 | unknown-action-type | Unknown action type | Error
XKB-883 | conflicting-key-action | Warn if there are conflicting actions while merging keys | Warning
XKB-893 | conflicting-key-type-merging-groups | Warn if there are conflicting key types while merging groups | Warning
XKB-901 | conflicting-key-symbols-entry | Conflicting symbols entry for a key | Error
XKB-903 | missing-symbols-group-name-index | Missing group index in a group name entry | Warning
XKB-935 | conflicting-key-fields | Warn if there are conflicting fields while merging keys | Warning
XKB-949 | invalid-identifier | An identifier is used but is not built-in | Error
XKB-965 | unresolved-keymap-symbol | Warn if using a symbol not defined in the keymap | Warning
XKB-967 | invalid-rules-syntax | The rules syntax is invalid and the file cannot be parsed | Error
XKB-971 | undeclared-modifiers-in-key-type | Some modifiers used in a key type “map” or “preserve” entry are not declared | Warning

# Details

## XKB-034 – Malformed number literal

Since
  1.0.0
Type
  Error
Summary
  Warn on malformed number literals

xkbcommon can parse the following number literal formats:

- decimal integer: 1, 123, etc.
- decimal floating-point number: 1.23, etc.
- hexadecimal integer: prefixed with “0x”: 0x123, 0xff, 0xAB, etc.

## XKB-043 – Conflicting key type preserve entries

Since
  1.0.0
Type
  Warning
Summary
  Conflicting “preserve” entries in a key type

## XKB-052 – Integer overflow

Since
  1.10.0
Type
  Error
Summary
  The result of the operation is not mathematically correct

The result of the operation is not representable in the corresponding datatype and overflowed.

## XKB-060 – Unsupported modifier mask

Since
  1.0.0
Type
  Error
Summary
  Warn on unsupported modifier mask

## XKB-077 – Expected array entry

Since
  1.0.0
Type
  Error
Summary
  Expected an array entry, but the index is missing

## XKB-082 – Invalid numeric keysym

Since
  1.0.0
Type
  Error
Summary
  Invalid numeric keysym

Keysyms are 32-bit integers with the 3 most significant bits always set to zero. Thus valid keysyms are in the range 0 .. 0x1fffffff = XKB_KEYSYM_MAX.

See: Appendix A “KEYSYM Encoding” of the X Window System Protocol.

See also
  Keysyms

## XKB-101 – Illegal keycode alias

Since
  1.0.0
Type
  Warning
Summary
  Illegal keycode alias with the name of a real key

## XKB-107 – Unrecognized keysym

Since
  1.0.0
Type
  Warning
Summary
  Warn on unrecognized keysyms

xkbcommon replaces keysyms it does not recognize by the keysym NoSymbol.

You may find the list of supported keysyms in include/xkbcommon/xkbcommon-keysyms.h.

### Examples

Unrecognized keysym “coma”

Error message:

xkbcommon: WARNING: [XKB-107] de:31:20: unrecognized keysym "coma"

xkbcommon does not recognize the keysym “coma”. It is most probably a typo for “`comma`”. See: XKB_KEY_comma in include/xkbcommon/xkbcommon-keysyms.h.

Fix:

Before
key <AB08> {[ coma, semicolon, periodcentered, multiply ]};
After
key <AB08> {[ comma, semicolon, periodcentered, multiply ]};

## XKB-123 – Undeclared virtual modifier

Since
  1.0.0
Type
  Error
Summary
  A virtual modifier is used before being declared

## XKB-134 – Insufficient buffer size

Since
  1.0.0
Type
  Error
Summary
  A buffer has an insufficient size

## XKB-150 – Wrong statement type

Since
  1.0.0
Type
  Error
Summary
  The type of the statement is not allowed in the context

## XKB-161 – Invalid path

Since
  1.0.0
Type
  Error
Summary
  The given path is invalid

## XKB-172 – Unsupported geometry section

Since
  1.0.0
Type
  Warning
Summary
  Geometry sections are not supported

## XKB-183 – Cannot infer key type

Since
  1.0.0
Type
  Warning
Summary
  Warn if no key type can be inferred

## XKB-193 – Invalid escape sequence

Since
  1.0.0
Type
  Warning
Summary
  Invalid escape sequence in a string

## XKB-195 – Illegal key type preserve result

Since
  1.0.0
Type
  Warning
Summary
  The result of a key type “preserve” entry must be a subset of its input modifiers.

## XKB-203 – Invalid include statement

Since
  1.0.0
Type
  Error
Summary
  Syntax error in the include statement

## XKB-206 – Invalid modmap entry

Since
  1.0.0
Type
  Error
Summary
  A modmap entry is invalid

## XKB-237 – Unsupported group index

Since
  1.0.0
Type
  Error
Summary
  Warn when a group index is not supported

xkbcommon supports different group index ranges, depending of the target keymap format:

- XKB_KEYMAP_FORMAT_TEXT_V1: 1..4
- XKB_KEYMAP_FORMAT_TEXT_V2: 1..32

## XKB-239 – Conflicting key type level names

Since
  1.0.0
Type
  Warning
Summary
  The name of a key type level is defined multiple times.

## XKB-254 – Invalid set default statement

Since
  1.0.0
Type
  Error
Summary
  Invalid statement setting default values

## XKB-266 – Conflicting key type map entry

Since
  1.0.0
Type
  Warning
Summary
  Conflicting “map” entries in type definition

## XKB-286 – Undefined key type

Since
  1.0.0
Type
  Warning
Summary
  Warn if using an undefined key type

## XKB-301 – Deprecated keysym

Since
  1.8.0
Type
  Warning
Summary
  A keysym has been deprecated: consider using an alternative keysym

Some keysyms have ambiguous meaning. It is advised to migrate to an alternative keysym if possible, as deprecated keysyms may be removed in the future. Consider using Unicode keysyms (Unnnn) if relevant.

## XKB-302 – Deprecated keysym name

Since
  1.8.0
Type
  Warning
Summary
  A keysym name has been deprecated: use the corresponding canonical name instead

Some keysym names have typos, unconventional names or are historical aliases. Please consider migrating to the reference name reported in the warning message.

## XKB-305 – Non base group name

Since
  1.0.0
Type
  Warning
Summary
  Warn if a group name was defined for group other than the first one

## XKB-312 – Unsupported shift level

Since
  1.0.0
Type
  Error
Summary
  Warn when a shift level is not supported

Shift levels are one-indexed. xkbcommon supports two formats of shift levels: as numbers and as identifiers LevelN, where N is in the range (1..8).

## XKB-338 – Included file not found

Since
  1.0.0
Type
  Error
Summary
  Could not find a file used in an include statement

## XKB-345 – Unknown operator

Since
  1.0.0
Type
  Error
Summary
  Use of an operator that is unknown and thus unsupported

## XKB-362 – Unsupported legacy action

Since
  1.10.0
Type
  Warning
Summary
  Use of a legacy X11 action that is not supported

This action will be treated as NoAction(). See Unsupported legacy X11 actions for further information.

## XKB-378 – Duplicate entry

Since
  1.0.0
Type
  Warning
Summary
  An entry is duplicated and will be ignored

## XKB-386 – Recursive include

Since
  1.7.0
Type
  Error
Summary
  Included files form cycle

## XKB-407 – Conflicting key type definitions

Since
  1.0.0
Type
  Warning
Summary
  Conflicting definitions of a key type

The given key type is defined multiple times, but only one definition is kept.

## XKB-428 – Global defaults wrong scope

Since
  1.0.0
Type
  Error
Summary
  A global defaults statement is in a wrong scope and should be moved

### Examples

Default key type in key statement

Error message:

xkbcommon: ERROR: [XKB-428] Cannot set global defaults for "type" element
within a key statement: move statements to the global file scope.
Assignment to "key.type" ignored.

Fix:

Before
key <AE01> {
key.type = "FOUR_LEVEL_SEMIALPHABETIC",
symbols = [q, Q, at]
};
After
// Either put default key type in global file scope
key.type = "FOUR_LEVEL_SEMIALPHABETIC";
key <AE01> { [q, Q, at] };
// or use a local setting (unqualified, i.e. without `key.`)
key <AE01> {
type = "FOUR_LEVEL_SEMIALPHABETIC",
symbols = [ q, Q, at ]
};

## XKB-433 – Missing default section

Since
  1.0.0
Type
  Warning
Summary
  Missing default section in included file

When using an include statement, the included file may contains multiple sections. The include statement may specify the name of the section to include, or leave it unspecified. In the latter case, the included file must then define a default section. The present warning is shown when no default section is defined.

To solve this, either fix the include statement by specifying the exact section to include, or declare a default section in the included file.

## XKB-461 – Conflicting key symbol

Since
  1.0.0
Type
  Warning
Summary
  Warn if there are conflicting keysyms while merging keys

## XKB-478 – Invalid operation

Since
  1.0.0
Type
  Error
Summary
  The operation is invalid in the context

## XKB-489 – Numeric keysym

Since
  1.6.0
Type
  Warning
Summary
  Warn on numeric keysym (other than 0-9)

Numeric keysyms are not human-friendly. Use the corresponding named keysym or Unicode keysym, if available.

### Examples

Hexadecimal keysym 0x1001ed0

Error message:

xkbcommon: WARNING: [XKB-489] numeric keysym "0x1001ed0"

Fix:

Before
key <AE01> { [ 0x1001ed0] };
After
// Preferred form: human-friendly
key <AE01> { [ Ocircumflexacute ] };
// or
key <AE01> { [ U1ED0 ] };

## XKB-516 – Extra symbols ignored

Since
  1.0.0
Type
  Warning
Summary
  TODO: add description

## XKB-523 – Conflicting key name

Since
  1.0.0
Type
  Warning
Summary
  Conflicting definitions of a key name or alias

## XKB-542 – Invalid file encoding

Since
  1.7.0
Type
  Error
Summary
  Invalid file encoding

## XKB-550 – Allocation error

Since
  1.0.0
Type
  Error
Summary
  Cannot allocate memory

## XKB-563 – Invalid action field

Since
  1.0.0
Type
  Error
Summary
  Unknown or unsupported action field

## XKB-578 – Wrong field type

Since
  1.0.0
Type
  Error
Summary
  Warn when a field has not the expected type

## XKB-595 – Cannot resolve rmlvo

Since
  1.0.0
Type
  Error
Summary
  Cannot resolve a given (Rules, Model, Layout, Variant, Options) configuration

## XKB-607 – Invalid unicode escape sequence

Since
  1.9.0
Type
  Warning
Summary
  Invalid Unicode escape sequence

xkbcommon support the Unicode sequence \u{NNNN}, where NNNN denotes a Unicode code point in hexadecimal format in the range 1‥0x10ffff.

## XKB-623 – Invalid real modifier

Since
  1.0.0
Type
  Error
Summary
  Invalid real modifier

## XKB-632 – No valid default include path

Since
  1.13.0
Type
  Error
Summary
  Unable to add any default include path

xkbcommon requires to define at least one include path in order to look up XKB files. See Include Paths for further details.

## XKB-639 – Unknown default field

Since
  1.10.0
Type
  Error
Summary
  Cannot set default value to a an unknown field

## XKB-645 – Unknown char escape sequence

Since
  1.0.0
Type
  Warning
Summary
  Warn on unknown escape sequence in string literal

xkbcommon support the following escape sequences in string literals:

Escape sequence | Corresponding character
--- | ---
\b | U+0008 Backspace
\t | U+0009 Character tabulation
\n | U+000A Line feed
\v | U+000B Vertical tabulation
\f | U+000C Form feed
\r | U+000D Carriage return
\e | U+001B Escape
\\ | U+005C Backslash
\" | U+0022 Double quote
\NNNN | Octal escape, NNNN in range 1‥0o377
\u{NNNN} | Unicode hexadecimal escape, NNNN in range 1‥0x10ffff

## XKB-661 – Invalid included file

Since
  1.0.0
Type
  Error
Summary
  The target file of an include statement could not be processed

## XKB-679 – Invalid compose locale

Since
  1.12.0
Type
  Error
Summary
  Invalid locale for Compose

The locale is either invalid (not installed on the system) or not registered in the X11 Compose registry.

## XKB-685 – Invalid compose syntax

Since
  1.0.0
Type
  Error
Summary
  The Compose file syntax is invalid and the entry cannot be parsed

## XKB-693 – Incompatible actions and keysyms count

Since
  1.8.0
Type
  Error
Summary
  A level has a different number of keysyms and actions

A level must have exactly the same number of keysyms and actions.

## XKB-700 – Multiple groups at once

Since
  1.0.0
Type
  Warning
Summary
  Warn if a key defines multiple groups at once

## XKB-711 – Unsupported symbols field

Since
  1.0.0
Type
  Warning
Summary
  A legacy X11 symbol field is not supported

## XKB-742 – Incompatible keymap text format

Since
  1.11.0
Type
  Error
Summary
  The keymap has features unsupported in the target format

See Keymap support for further details.

## XKB-762 – Rules invalid layout index percent expansion

Since
  1.11.0
Type
  Error
Summary
  Cannot expand %i: missing layout or variant in MLVO rule fields

In a rules file, %i denotes the index of the matched layout. It can only be used in the KcCGST value of the rule if the layout or variant is defined in the MLVO fields of the rule header. Otherwise the rule is always discarded.

To fix the error, either remove the :%i specifier or add a the relevant MLVO field, e.g. layout[any].

## XKB-769 – Invalid xkb syntax

Since
  1.0.0
Type
  Error
Summary
  The XKB syntax is invalid and the file cannot be parsed

See The XKB keymap text format, V1 and V2 for further details.

## XKB-770 – Undefined keycode

Since
  1.0.0
Type
  Warning
Summary
  Reference to an undefined keycode

## XKB-784 – Invalid expression type

Since
  1.0.0
Type
  Error
Summary
  An expression has not the expected type

## XKB-796 – Invalid value

Since
  1.0.0
Type
  Error
Summary
  A value is invalid and will be ignored

## XKB-800 – Conflicting modmap

Since
  1.0.0
Type
  Warning
Summary
  Warn if there are conflicting modmap definitions

Todo
  detailed explanation and examples

## XKB-812 – Unknown field

Since
  1.0.0
Type
  Error
Summary
  A field is unknown and will be ignored

## XKB-822 – Keymap compilation failed

Since
  1.0.0
Type
  Error
Summary
  Keymap compilation failed

## XKB-844 – Unknown action type

Since
  1.0.0
Type
  Error
Summary
  Unknown action type

See Key actions for the list of supported actions.

## XKB-883 – Conflicting key action

Since
  1.0.0
Type
  Warning
Summary
  Warn if there are conflicting actions while merging keys

## XKB-893 – Conflicting key type merging groups

Since
  1.0.0
Type
  Warning
Summary
  Warn if there are conflicting key types while merging groups

## XKB-901 – Conflicting key symbols entry

Since
  1.0.0
Type
  Error
Summary
  Conflicting symbols entry for a key

## XKB-903 – Missing symbols group name index

Since
  1.0.0
Type
  Warning
Summary
  Missing group index in a group name entry

## XKB-935 – Conflicting key fields

Since
  1.0.0
Type
  Warning
Summary
  Warn if there are conflicting fields while merging keys

## XKB-949 – Invalid identifier

Since
  1.0.0
Type
  Error
Summary
  An identifier is used but is not built-in

## XKB-965 – Unresolved keymap symbol

Since
  1.0.0
Type
  Warning
Summary
  Warn if using a symbol not defined in the keymap

## XKB-967 – Invalid rules syntax

Since
  1.0.0
Type
  Error
Summary
  The rules syntax is invalid and the file cannot be parsed

See The rules file for further information.

## XKB-971 – Undeclared modifiers in key type

Since
  1.0.0
Type
  Warning
Summary
  Some modifiers used in a key type “map” or “preserve” entry are not declared

The modifiers used in map or preserve entries should be declared using the entry modifiers in the key type.