294 lines
8.8 KiB
Markdown
294 lines
8.8 KiB
Markdown
|
# Error index {#error-index}
|
|||
|
|
|||
|
<!--
|
|||
|
NOTE: This file has been generated automatically by “update-message-registry.py”.
|
|||
|
Do not edit manually!
|
|||
|
-->
|
|||
|
|
|||
|
This page lists the warnings and errors generated by xkbcommon.
|
|||
|
There are currently 20 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-060] | `unsupported-modifier-mask` | Warn on unsupported modifier mask | Error |
|
|||
|
| [XKB-107] | `unrecognized-keysym` | Warn on unrecognized keysyms | Warning |
|
|||
|
| [XKB-183] | `cannot-infer-key-type` | Warn if no key type can be inferred | Warning |
|
|||
|
| [XKB-237] | `unsupported-group-index` | Warn when a group index is not supported | Error |
|
|||
|
| [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-461] | `conflicting-key-symbol` | Warn if there are conflicting keysyms while merging keys | Warning |
|
|||
|
| [XKB-516] | `extra-symbols-ignored` | <span class="todo">TODO:</span> add description | Warning |
|
|||
|
| [XKB-578] | `wrong-field-type` | Warn when a field has not the expected type | Error |
|
|||
|
| [XKB-645] | `unknown-char-escape-sequence` | Warn on unknown escape sequence in string literal | Warning |
|
|||
|
| [XKB-700] | `multiple-groups-at-once` | Warn if a key defines multiple groups at once | Warning |
|
|||
|
| [XKB-769] | `invalid-syntax` | The syntax is invalid and the file cannot be parsed | Error |
|
|||
|
| [XKB-770] | `undefined-keycode` | <span class="todo">TODO:</span> add description | Warning |
|
|||
|
| [XKB-800] | `conflicting-modmap` | Warn if there are conflicting modmap definitions | Warning |
|
|||
|
| [XKB-883] | `conflicting-key-action` | Warn if there are conflicting actions while merging keys | Warning |
|
|||
|
| [XKB-893] | `conflicting-key-type` | Warn if there are conflicting key types while merging groups | Warning |
|
|||
|
| [XKB-935] | `conflicting-key-fields` | Warn if there are conflicting fields while merging keys | Warning |
|
|||
|
| [XKB-965] | `unresolved-keymap-symbol` | Warn if using a symbol not defined in the keymap | Warning |
|
|||
|
|
|||
|
## Details
|
|||
|
|
|||
|
### XKB-034 – Malformed number literal {#XKB-034}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Error</dd>
|
|||
|
<dt>Summary</dt><dd>Warn on malformed number literals</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
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-060 – Unsupported modifier mask {#XKB-060}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Error</dd>
|
|||
|
<dt>Summary</dt><dd>Warn on unsupported modifier mask</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-107 – Unrecognized keysym {#XKB-107}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn on unrecognized keysyms</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
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
|
|||
|
|
|||
|
<details>
|
|||
|
<summary>Unrecognized keysym “`coma`”</summary>
|
|||
|
|
|||
|
**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 “<code>com<em>m</em>a</code>”.
|
|||
|
See: `XKB_KEY_comma` in `include/xkbcommon/xkbcommon-keysyms.h`.
|
|||
|
|
|||
|
**Fix:**
|
|||
|
<div class="example-container">
|
|||
|
<div class="example">
|
|||
|
<div class="example-inner">
|
|||
|
<div class="example-title">Before</div>
|
|||
|
```c
|
|||
|
key <AB08> {[ coma, semicolon, periodcentered, multiply ]};
|
|||
|
```
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="example">
|
|||
|
<div class="example-inner">
|
|||
|
<div class="example-title">After</div>
|
|||
|
```c
|
|||
|
key <AB08> {[ comma, semicolon, periodcentered, multiply ]};
|
|||
|
```
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</details>
|
|||
|
|
|||
|
### XKB-183 – Cannot infer key type {#XKB-183}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if no key type can be inferred</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-237 – Unsupported group index {#XKB-237}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Error</dd>
|
|||
|
<dt>Summary</dt><dd>Warn when a group index is not supported</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
xkbcommon supports group index in the range (1..4).
|
|||
|
|
|||
|
|
|||
|
### XKB-286 – Undefined key type {#XKB-286}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if using an undefined key type</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-305 – Non base group name {#XKB-305}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if a group name was defined for group other than the first one</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-312 – Unsupported shift level {#XKB-312}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Error</dd>
|
|||
|
<dt>Summary</dt><dd>Warn when a shift level is not supported</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
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-461 – Conflicting key symbol {#XKB-461}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if there are conflicting keysyms while merging keys</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-516 – Extra symbols ignored {#XKB-516}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd><span class="todo">TODO:</span> add description</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-578 – Wrong field type {#XKB-578}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Error</dd>
|
|||
|
<dt>Summary</dt><dd>Warn when a field has not the expected type</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-645 – Unknown char escape sequence {#XKB-645}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn on unknown escape sequence in string literal</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
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-700 – Multiple groups at once {#XKB-700}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if a key defines multiple groups at once</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-769 – Invalid syntax {#XKB-769}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Error</dd>
|
|||
|
<dt>Summary</dt><dd>The syntax is invalid and the file cannot be parsed</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-770 – Undefined keycode {#XKB-770}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd><span class="todo">TODO:</span> add description</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-800 – Conflicting modmap {#XKB-800}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if there are conflicting modmap definitions</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
@todo detailed explanation and examples
|
|||
|
|
|||
|
|
|||
|
### XKB-883 – Conflicting key action {#XKB-883}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if there are conflicting actions while merging keys</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-893 – Conflicting key type {#XKB-893}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if there are conflicting key types while merging groups</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-935 – Conflicting key fields {#XKB-935}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if there are conflicting fields while merging keys</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
### XKB-965 – Unresolved keymap symbol {#XKB-965}
|
|||
|
|
|||
|
<dl>
|
|||
|
<dt>Since</dt><dd>1.0.0</dd>
|
|||
|
<dt>Type</dt><dd>Warning</dd>
|
|||
|
<dt>Summary</dt><dd>Warn if using a symbol not defined in the keymap</dd>
|
|||
|
</dl>
|
|||
|
|
|||
|
[XKB-034]: @ref XKB-034
|
|||
|
[XKB-060]: @ref XKB-060
|
|||
|
[XKB-107]: @ref XKB-107
|
|||
|
[XKB-183]: @ref XKB-183
|
|||
|
[XKB-237]: @ref XKB-237
|
|||
|
[XKB-286]: @ref XKB-286
|
|||
|
[XKB-305]: @ref XKB-305
|
|||
|
[XKB-312]: @ref XKB-312
|
|||
|
[XKB-461]: @ref XKB-461
|
|||
|
[XKB-516]: @ref XKB-516
|
|||
|
[XKB-578]: @ref XKB-578
|
|||
|
[XKB-645]: @ref XKB-645
|
|||
|
[XKB-700]: @ref XKB-700
|
|||
|
[XKB-769]: @ref XKB-769
|
|||
|
[XKB-770]: @ref XKB-770
|
|||
|
[XKB-800]: @ref XKB-800
|
|||
|
[XKB-883]: @ref XKB-883
|
|||
|
[XKB-893]: @ref XKB-893
|
|||
|
[XKB-935]: @ref XKB-935
|
|||
|
[XKB-965]: @ref XKB-965
|