libxkbcommon 1.7.0

Error index

This page lists the warnings and errors generated by xkbcommon. There are currently 55 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-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-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-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-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-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

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-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-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-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 group index in the range (1..4).

## 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-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-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-550 – Allocation error

Since
  1.0.0
Type
  Error
Summary
  Cannot allocate memory

## XKB-578 – Wrong field type

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

## XKB-623 – Invalid real modifier

Since
  1.0.0
Type
  Error
Summary
  Invalid real modifier

## 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
`\NNN` | Octal escape, from `\0` to `\777`

## XKB-661 – Invalid included file

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

## 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-769 – Invalid syntax

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

## 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-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-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.