# Error index {#error-index} This page lists the warnings and errors generated by xkbcommon. There are currently 52 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-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-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-150] | `wrong-statement-type` | The type of the statement is not allowed in the context | 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-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-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-378] | `duplicate-entry` | An entry is duplicated and will be ignored | Warning | | [XKB-407] | `conflicting-key-type-definitions` | Conflicting definitions of a key type | Warning | | [XKB-428] | `wrong-scope` | A 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-550] | `allocation-error` | Cannot allocate memory | Error | | [XKB-578] | `wrong-field-type` | Warn when a field has not the expected type | Error | | [XKB-623] | `invalid-real-modifier` | Invalid _real_ modifier | 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-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-769] | `invalid-syntax` | The 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-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-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 {#XKB-034}
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 {#XKB-043}
Since
1.0.0
Type
Warning
Summary
Conflicting “preserve” entries in a key type
### XKB-060 – Unsupported modifier mask {#XKB-060}
Since
1.0.0
Type
Error
Summary
Warn on unsupported modifier mask
### XKB-077 – Expected array entry {#XKB-077}
Since
1.0.0
Type
Error
Summary
Expected an array entry, but the index is missing
### XKB-101 – Illegal keycode alias {#XKB-101}
Since
1.0.0
Type
Warning
Summary
Illegal keycode alias with the name of a real key
### XKB-107 – Unrecognized keysym {#XKB-107}
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
```c key {[ coma, semicolon, periodcentered, multiply ]}; ```
After
```c key {[ comma, semicolon, periodcentered, multiply ]}; ```
### XKB-123 – Undeclared virtual modifier {#XKB-123}
Since
1.0.0
Type
Error
Summary
A virtual modifier is used before being declared
### XKB-150 – Wrong statement type {#XKB-150}
Since
1.0.0
Type
Error
Summary
The type of the statement is not allowed in the context
### XKB-172 – Unsupported geometry section {#XKB-172}
Since
1.0.0
Type
Warning
Summary
Geometry sections are not supported
### XKB-183 – Cannot infer key type {#XKB-183}
Since
1.0.0
Type
Warning
Summary
Warn if no key type can be inferred
### XKB-195 – Illegal key type preserve result {#XKB-195}
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 {#XKB-203}
Since
1.0.0
Type
Error
Summary
Syntax error in the include statement
### XKB-206 – Invalid modmap entry {#XKB-206}
Since
1.0.0
Type
Error
Summary
A modmap entry is invalid
### XKB-237 – Unsupported group index {#XKB-237}
Since
1.0.0
Type
Error
Summary
Warn when a group index is not supported
xkbcommon supports group index in the range (1..4). ### XKB-239 – Conflicting key type level names {#XKB-239}
Since
1.0.0
Type
Warning
Summary
The name of a key type level is defined multiple times.
### XKB-254 – Invalid set default statement {#XKB-254}
Since
1.0.0
Type
Error
Summary
Invalid statement setting default values
### XKB-266 – Conflicting key type map entry {#XKB-266}
Since
1.0.0
Type
Warning
Summary
Conflicting “map” entries in type definition
### XKB-286 – Undefined key type {#XKB-286}
Since
1.0.0
Type
Warning
Summary
Warn if using an undefined key type
### XKB-305 – Non base group name {#XKB-305}
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 {#XKB-312}
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 {#XKB-338}
Since
1.0.0
Type
Error
Summary
Could not find a file used in an include statement
### XKB-345 – Unknown operator {#XKB-345}
Since
1.0.0
Type
Error
Summary
Use of an operator that is unknown and thus unsupported
### XKB-378 – Duplicate entry {#XKB-378}
Since
1.0.0
Type
Warning
Summary
An entry is duplicated and will be ignored
### XKB-407 – Conflicting key type definitions {#XKB-407}
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 – Wrong scope {#XKB-428}
Since
1.0.0
Type
Error
Summary
A statement is in a wrong scope and should be moved
### XKB-433 – Missing default section {#XKB-433}
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 {#XKB-461}
Since
1.0.0
Type
Warning
Summary
Warn if there are conflicting keysyms while merging keys
### XKB-478 – Invalid operation {#XKB-478}
Since
1.0.0
Type
Error
Summary
The operation is invalid in the context
### XKB-489 – Numeric keysym {#XKB-489}
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
```c key { [ 0x1001ed0] }; ```
After
```c // Preferred form: human-friendly key { [ Ocircumflexacute ] }; // or key { [ U1ED0 ] }; ```
### XKB-516 – Extra symbols ignored {#XKB-516}
Since
1.0.0
Type
Warning
Summary
TODO: add description
### XKB-523 – Conflicting key name {#XKB-523}
Since
1.0.0
Type
Warning
Summary
Conflicting definitions of a key name or alias
### XKB-550 – Allocation error {#XKB-550}
Since
1.0.0
Type
Error
Summary
Cannot allocate memory
### XKB-578 – Wrong field type {#XKB-578}
Since
1.0.0
Type
Error
Summary
Warn when a field has not the expected type
### XKB-623 – Invalid real modifier {#XKB-623}
Since
1.0.0
Type
Error
Summary
Invalid _real_ modifier
### XKB-645 – Unknown char escape sequence {#XKB-645}
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 | | `\NNN` | _Octal_ escape, from `\0` to `\777` | ### XKB-661 – Invalid included file {#XKB-661}
Since
1.0.0
Type
Error
Summary
The target file of an include statement could not be processed
### XKB-700 – Multiple groups at once {#XKB-700}
Since
1.0.0
Type
Warning
Summary
Warn if a key defines multiple groups at once
### XKB-711 – Unsupported symbols field {#XKB-711}
Since
1.0.0
Type
Warning
Summary
A legacy X11 symbol field is not supported
### XKB-769 – Invalid syntax {#XKB-769}
Since
1.0.0
Type
Error
Summary
The syntax is invalid and the file cannot be parsed
### XKB-770 – Undefined keycode {#XKB-770}
Since
1.0.0
Type
Warning
Summary
Reference to an undefined keycode
### XKB-784 – Invalid expression type {#XKB-784}
Since
1.0.0
Type
Error
Summary
An expression has not the expected type
### XKB-796 – Invalid value {#XKB-796}
Since
1.0.0
Type
Error
Summary
A value is invalid and will be ignored
### XKB-800 – Conflicting modmap {#XKB-800}
Since
1.0.0
Type
Warning
Summary
Warn if there are conflicting modmap definitions
@todo detailed explanation and examples ### XKB-812 – Unknown field {#XKB-812}
Since
1.0.0
Type
Error
Summary
A field is unknown and will be ignored
### XKB-883 – Conflicting key action {#XKB-883}
Since
1.0.0
Type
Warning
Summary
Warn if there are conflicting actions while merging keys
### XKB-893 – Conflicting key type merging groups {#XKB-893}
Since
1.0.0
Type
Warning
Summary
Warn if there are conflicting key types while merging groups
### XKB-901 – Conflicting key symbols entry {#XKB-901}
Since
1.0.0
Type
Error
Summary
Conflicting symbols entry for a key
### XKB-903 – Missing symbols group name index {#XKB-903}
Since
1.0.0
Type
Warning
Summary
Missing group index in a group name entry
### XKB-935 – Conflicting key fields {#XKB-935}
Since
1.0.0
Type
Warning
Summary
Warn if there are conflicting fields while merging keys
### XKB-949 – Invalid identifier {#XKB-949}
Since
1.0.0
Type
Error
Summary
An identifier is used but is not built-in
### XKB-965 – Unresolved keymap symbol {#XKB-965}
Since
1.0.0
Type
Warning
Summary
Warn if using a symbol not defined in the keymap
### XKB-971 – Undeclared modifiers in key type {#XKB-971}
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. [XKB-034]: @ref XKB-034 [XKB-043]: @ref XKB-043 [XKB-060]: @ref XKB-060 [XKB-077]: @ref XKB-077 [XKB-101]: @ref XKB-101 [XKB-107]: @ref XKB-107 [XKB-123]: @ref XKB-123 [XKB-150]: @ref XKB-150 [XKB-172]: @ref XKB-172 [XKB-183]: @ref XKB-183 [XKB-195]: @ref XKB-195 [XKB-203]: @ref XKB-203 [XKB-206]: @ref XKB-206 [XKB-237]: @ref XKB-237 [XKB-239]: @ref XKB-239 [XKB-254]: @ref XKB-254 [XKB-266]: @ref XKB-266 [XKB-286]: @ref XKB-286 [XKB-305]: @ref XKB-305 [XKB-312]: @ref XKB-312 [XKB-338]: @ref XKB-338 [XKB-345]: @ref XKB-345 [XKB-378]: @ref XKB-378 [XKB-407]: @ref XKB-407 [XKB-428]: @ref XKB-428 [XKB-433]: @ref XKB-433 [XKB-461]: @ref XKB-461 [XKB-478]: @ref XKB-478 [XKB-489]: @ref XKB-489 [XKB-516]: @ref XKB-516 [XKB-523]: @ref XKB-523 [XKB-550]: @ref XKB-550 [XKB-578]: @ref XKB-578 [XKB-623]: @ref XKB-623 [XKB-645]: @ref XKB-645 [XKB-661]: @ref XKB-661 [XKB-700]: @ref XKB-700 [XKB-711]: @ref XKB-711 [XKB-769]: @ref XKB-769 [XKB-770]: @ref XKB-770 [XKB-784]: @ref XKB-784 [XKB-796]: @ref XKB-796 [XKB-800]: @ref XKB-800 [XKB-812]: @ref XKB-812 [XKB-883]: @ref XKB-883 [XKB-893]: @ref XKB-893 [XKB-901]: @ref XKB-901 [XKB-903]: @ref XKB-903 [XKB-935]: @ref XKB-935 [XKB-949]: @ref XKB-949 [XKB-965]: @ref XKB-965 [XKB-971]: @ref XKB-971