message-registry.yaml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755
  1. # Guidelines:
  2. # • A message code must always have the same meaning forever.
  3. # • Codes may be retired or introduced in new releases. In order to avoid
  4. # clashes, retired codes must not be deleted.
  5. # • Codes should not themselves reflect classification, e.g. a range for parse
  6. # errors and a range for each keymap component.
  7. # • Codes should not be assigned sequentially because it is misleading.
  8. # • Codes must be in the range 1..999. This range may be extended once every
  9. # code has be assigned.
  10. #
  11. # See the following guidelines for further details on good practices:
  12. # https://github.com/haskellfoundation/error-message-index/blob/main/tool-developers.md#code-assignment-recommendations
  13. # NOTE: Field “added: ALWAYS” means that the precise version is unknown and
  14. # anterior to the introduction of the message registry. It will be replaced by
  15. # the default version 1.0.0 in the generated documentation. While this is deemed
  16. # good enough to avoid spelunking commit history, a more precise version would
  17. # be welcome.
  18. # TODO: fix missing detailed description, examples, resolution
  19. - id: "deprecated-section"
  20. code: 21
  21. added: 1.14.0
  22. type: warning
  23. description: "XKB section is deprecated"
  24. - id: "malformed-number-literal"
  25. code: 34
  26. added: ALWAYS
  27. type: error
  28. description: "Warn on malformed number literals"
  29. details: |
  30. xkbcommon can parse the following number literal formats:
  31. - *decimal integer:* 1, 123, etc.
  32. - *decimal floating-point number:* 1.23, etc.
  33. - *hexadecimal integer:* prefixed with “0x”: 0x123, 0xff, 0xAB, etc.
  34. - id: "conflicting-key-type-preserve-entries"
  35. code: 43
  36. added: ALWAYS
  37. type: warning
  38. description: "Conflicting “preserve” entries in a key type"
  39. - id: "integer-overflow"
  40. code: 52
  41. added: 1.10.0
  42. type: error
  43. description: "The result of the operation is not mathematically correct"
  44. details: |
  45. The result of the operation is not representable in the corresponding
  46. datatype and overflowed.
  47. - id: "unsupported-modifier-mask"
  48. code: 60
  49. type: error
  50. visibility: public
  51. added:
  52. internal: ALWAYS
  53. public: 1.14.0
  54. description: "Unsupported modifier mask"
  55. details: |
  56. The modifier mask does not represent valid modifiers.
  57. - id: "expected-array-entry"
  58. code: 77
  59. added: ALWAYS
  60. type: error
  61. description: "Expected an array entry, but the index is missing"
  62. - id: "invalid-numeric-keysym"
  63. code: 82
  64. added: ALWAYS
  65. type: error
  66. description: "Invalid numeric keysym"
  67. details: |
  68. Keysyms are 32-bit integers with the 3 most significant bits always set to
  69. zero. Thus valid keysyms are in the range `0 .. 0x1fffffff` = @ref XKB_KEYSYM_MAX.
  70. See: Appendix A [“KEYSYM Encoding”][encoding] of the X Window System Protocol.
  71. [encoding]: https://www.x.org/releases/current/doc/xproto/x11protocol.html#keysym_encoding
  72. @see keysyms
  73. - id: "illegal-keycode-alias"
  74. code: 101
  75. added: ALWAYS
  76. type: warning
  77. description: "Illegal keycode alias with the name of a real key"
  78. - id: "unrecognized-keysym"
  79. code: 107
  80. added: ALWAYS
  81. type: warning
  82. description: "Warn on unrecognized keysyms"
  83. details: |
  84. xkbcommon replaces keysyms it does not recognize by the keysym `NoSymbol`.
  85. You may find the list of supported keysyms in
  86. `include/xkbcommon/xkbcommon-keysyms.h`.
  87. examples:
  88. - name: Unrecognized keysym “`coma`”
  89. description: |
  90. **Error message:**
  91. ```
  92. xkbcommon: WARNING: [XKB-107] de:31:20: unrecognized keysym "coma"
  93. ```
  94. xkbcommon does not recognize the keysym “`coma`”. It is most probably
  95. a typo for “<code>com<em>m</em>a</code>”.
  96. See: `XKB_KEY_comma` in `include/xkbcommon/xkbcommon-keysyms.h`.
  97. before: |
  98. ```c
  99. key <AB08> {[ coma, semicolon, periodcentered, multiply ]};
  100. ```
  101. after: |
  102. ```c
  103. key <AB08> {[ comma, semicolon, periodcentered, multiply ]};
  104. ```
  105. - id: "undeclared-virtual-modifier"
  106. code: 123
  107. added: ALWAYS
  108. type: error
  109. description: "A virtual modifier is used before being declared"
  110. - id: "insufficient-buffer-size"
  111. code: 134
  112. added: ALWAYS
  113. type: error
  114. description: "A buffer has an insufficient size"
  115. - id: "wrong-statement-type"
  116. code: 150
  117. added: ALWAYS
  118. type: error
  119. description: "The type of the statement is not allowed in the context"
  120. - id: "invalid-path"
  121. code: 161
  122. added: ALWAYS
  123. type: error
  124. description: "The given path is invalid"
  125. - id: "unsupported-geometry-section"
  126. code: 172
  127. added: ALWAYS
  128. type: warning
  129. description: "Geometry sections are not supported"
  130. - id: "cannot-infer-key-type"
  131. code: 183
  132. added: ALWAYS
  133. type: warning
  134. description: "Warn if no key type can be inferred"
  135. - id: "invalid-escape-sequence"
  136. code: 193
  137. added: ALWAYS
  138. type: warning
  139. description: "Invalid escape sequence in a string"
  140. - id: "illegal-key-type-preserve-result"
  141. code: 195
  142. added: ALWAYS
  143. type: warning
  144. description: "The result of a key type “preserve” entry must be a subset of its input modifiers."
  145. - id: "invalid-include-statement"
  146. code: 203
  147. added: ALWAYS
  148. type: error
  149. description: "Syntax error in the include statement"
  150. - id: "invalid-modmap-entry"
  151. code: 206
  152. added: ALWAYS
  153. type: error
  154. description: "A modmap entry is invalid"
  155. - id: "unsupported-layout-out-of-range-policy"
  156. code: 214
  157. type: error
  158. visibility: public
  159. added: 1.14.0
  160. description: The given layout out-of-range policy is not supported
  161. details: |
  162. Use the following to check if the linked libxkbcommon library supports a given flag:
  163. ```c
  164. xkb_feature_supported(XKB_FEATURE_ENUM_LAYOUT_OUT_OF_RANGE_POLICY, flag)
  165. ```
  166. - id: "unknown-statement"
  167. code: 222
  168. added: "1.14.0"
  169. type: error
  170. description: "The statement is unknown"
  171. details: |
  172. libxkbcommon encountered an unknown statement and either:
  173. - rejected it (strict mode);
  174. - accepted but discarded it in order to provide forward-compatibility (lenient mode).
  175. Please check if:
  176. - it is a typo;
  177. - the [keymap format](@ref xkb_keymap_format) used for parsing is correct;
  178. - the statement is supported in a [newer version of libxkbcommon](release-notes.md).
  179. - id: "unsupported-layout-index"
  180. code: 237
  181. type: error
  182. visibility: public
  183. added:
  184. internal: ALWAYS
  185. public: 1.14.0
  186. description: "Layout index is not supported"
  187. details: |
  188. libxkbcommon supports different *layout index* ranges, depending on the target
  189. *keymap format*:
  190. - `::XKB_KEYMAP_FORMAT_TEXT_V1`: 1..{{XKB_MAX_GROUPS_X11}}
  191. - `::XKB_KEYMAP_FORMAT_TEXT_V2`: 1..{{XKB_MAX_GROUPS}}
  192. - id: "conflicting-key-type-level-names"
  193. code: 239
  194. added: ALWAYS
  195. type: warning
  196. description: "The name of a key type level is defined multiple times."
  197. - id: "invalid-set-default-statement"
  198. code: 254
  199. added: ALWAYS
  200. type: error
  201. description: "Invalid statement setting default values"
  202. - id: "conflicting-key-type-map-entry"
  203. code: 266
  204. added: ALWAYS
  205. type: warning
  206. description: "Conflicting “map” entries in type definition"
  207. - id: "unsupported-keymap-format"
  208. code: 277
  209. added:
  210. internal: ALWAYS
  211. public: 1.14.0
  212. type: error
  213. visibility: public
  214. description: "Unsupported keymap format"
  215. details: |
  216. See `xkb_keymap_format` for the list of valid values.
  217. - id: "unrecognized-rmlvo-value"
  218. code: 282
  219. added: ALWAYS
  220. type: error
  221. description: "Unrecognized RMLVO value ignored"
  222. details: |
  223. The corresponding [RMLVO] value did not match any [rule][rules] and was ignored,
  224. possibly resulting in an *incomplete layout*.
  225. This may be:
  226. - An issue with the [RMLVO] value not being in sync with the XKB database.
  227. Updating the keyboard settings should fix it.
  228. - An issue with the rules:
  229. - If using *custom* XKB files, please check that you followed the
  230. [corresponding instructions](@ref custom-configuration).
  231. E.g. custom *options* requires a [dedicated entry](@ref custom-option).
  232. - If using the *standard* rules, please file a bug report to the
  233. [xkeyboard-config] project.
  234. [RMLVO]: @ref RMLVO-intro
  235. [xkeyboard-config]: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config
  236. [rules]: @ref config-rules-def
  237. - id: "undefined-key-type"
  238. code: 286
  239. added: ALWAYS
  240. type: warning
  241. description: "Warn if using an undefined key type"
  242. - id: "deprecated-keysym"
  243. code: 301
  244. added: 1.8.0
  245. type: warning
  246. description: "A keysym has been deprecated: consider using an alternative keysym"
  247. details: |
  248. Some keysyms have ambiguous meaning. It is advised to migrate to an alternative keysym
  249. if possible, as deprecated keysyms may be removed in the future. Consider using Unicode
  250. keysyms (`Unnnn`) if relevant.
  251. - id: "deprecated-keysym-name"
  252. code: 302
  253. added: 1.8.0
  254. type: warning
  255. description: "A keysym name has been deprecated: use the corresponding canonical name instead"
  256. details: |
  257. Some keysym names have typos, unconventional names or are historical aliases.
  258. Please consider migrating to the reference name reported in the warning message.
  259. - id: "non-base-group-name"
  260. code: 305
  261. added: ALWAYS
  262. type: warning
  263. description: "Warn if a group name was defined for group other than the first one"
  264. - id: "unsupported-shift-level"
  265. code: 312
  266. added: ALWAYS
  267. type: error
  268. description: "Warn when a shift level is not supported"
  269. details: |
  270. Shift levels are _one_-indexed. xkbcommon supports two formats of shift levels:
  271. as numbers and as identifiers `LevelN`, where `N` is in the range (1..8).
  272. - id: "included-file-not-found"
  273. code: 338
  274. added: ALWAYS
  275. type: error
  276. description: "Could not find a file used in an include statement"
  277. - id: "unknown-operator"
  278. code: 345
  279. added: ALWAYS
  280. type: error
  281. description: "Use of an operator that is unknown and thus unsupported"
  282. - id: "overlapping-overlay"
  283. code: 355
  284. added: 1.14.0
  285. type: error
  286. description: "Overlapping overlays are not supported"
  287. details: |
  288. [Overlays] must be *disjoint* in target keymap format: a key can have
  289. *at most one* overlay. See “[overlapping overlay]” for further information.
  290. [Overlays]: @ref key-behavior-overlay
  291. [overlapping overlay]: @ref overlapping-overlays
  292. - id: "unsupported-legacy-action"
  293. code: 362
  294. added: 1.10.0
  295. type: warning
  296. description: "Use of a legacy X11 action that is not supported"
  297. details: |
  298. This action will be treated as `NoAction()`. See @ref unsupported-legacy-x11-actions ""
  299. for further information.
  300. - id: "layout-count-limit-exceeded"
  301. code: 366
  302. added:
  303. internal: ALWAYS
  304. public: 1.14.0
  305. type: error
  306. visibility: public
  307. description: "Layout count limit exceeded for the corresponding keymap format"
  308. # TODO: details
  309. - id: "unsupported-a11y-flags"
  310. code: 371
  311. type: error
  312. visibility: public
  313. added: 1.14.0
  314. description: Unsupported `xkb_a11y_flags` value
  315. details: |
  316. Use the following to check if the linked libxkbcommon library supports a given flag:
  317. ```c
  318. xkb_feature_supported(XKB_FEATURE_ENUM_A11Y_FLAGS, flag)
  319. ```
  320. - id: "duplicate-entry"
  321. code: 378
  322. added: ALWAYS
  323. type: warning
  324. description: "An entry is duplicated and will be ignored"
  325. - id: "recursive-include"
  326. code: 386
  327. added: 1.7.0
  328. type: error
  329. description: "Included files form cycle"
  330. - id: "unexpected-state-mode"
  331. code: 399
  332. type: error
  333. visibility: public
  334. added: 1.14.0
  335. description: "A `xkb_state` object has an unexpected `xkb_state_mode`"
  336. - id: "conflicting-key-type-definitions"
  337. code: 407
  338. added: ALWAYS
  339. type: warning
  340. description: "Conflicting definitions of a key type"
  341. details: |
  342. The given key type is defined multiple times, but only one definition is kept.
  343. - id: "global-defaults-wrong-scope"
  344. code: 428
  345. added: ALWAYS
  346. type: error
  347. description: "A global defaults statement is in a wrong scope and should be moved"
  348. examples:
  349. - name: Default key type in key statement
  350. description: |
  351. **Error message:**
  352. ```
  353. xkbcommon: ERROR: [XKB-428] Cannot set global defaults for "type" element
  354. within a key statement: move statements to the global file scope.
  355. Assignment to "key.type" ignored.
  356. ```
  357. before: |
  358. ```c
  359. key <AE01> {
  360. key.type = "FOUR_LEVEL_SEMIALPHABETIC",
  361. symbols = [q, Q, at]
  362. };
  363. ```
  364. after: |
  365. ```c
  366. // Either put default key type in global file scope
  367. key.type = "FOUR_LEVEL_SEMIALPHABETIC";
  368. key <AE01> { [q, Q, at] };
  369. // or use a local setting (unqualified, i.e. without `key.`)
  370. key <AE01> {
  371. type = "FOUR_LEVEL_SEMIALPHABETIC",
  372. symbols = [ q, Q, at ]
  373. };
  374. ```
  375. - id: "missing-default-section"
  376. code: 433
  377. added: ALWAYS
  378. type: warning
  379. description: "Missing default section in included file"
  380. details: |
  381. When using an include statement, the included file may contains multiple sections.
  382. The include statement may specify the name of the section to include, or leave it
  383. unspecified. In the latter case, the included file must then define a *default* section.
  384. The present warning is shown when no default section is defined.
  385. To solve this, either fix the include statement by specifying the exact section to
  386. include, or declare a default section in the included file.
  387. - id: "abi-invalid-struct-size"
  388. code: 450
  389. type: error
  390. visibility: public
  391. added: 1.14.0
  392. description: ABI struct size check failed
  393. details: |
  394. The `size` field of a versioned structure does not match any known
  395. version of that structure. This typically indicates the caller failed
  396. to initialize the struct correctly, e.g. by omitting:
  397. ```c
  398. .size = sizeof(struct xkb_foo)
  399. ```
  400. - id: "invalid-modifier-map-mask"
  401. code: 453
  402. added: 1.14.0
  403. type: error
  404. description: "Invalid real modifier mask in modifier map definition"
  405. details: |
  406. <dl>
  407. <dt>Parsing</dt>
  408. <dd>
  409. `::XKB_KEYMAP_FORMAT_TEXT_V1` allows only a *single* X11 core modifier
  410. per [`modifier_map`](@ref modmap-statement) entry.
  411. </dd>
  412. <dt>Serializing</dt>
  413. <dd>
  414. `::XKB_KEYMAP_FORMAT_TEXT_V1` allows only X11 core modifiers and can
  415. serialize multiple X11 core modifiers only if some of the original
  416. [`modifier_map`](@ref modmap-statement) entries used a keysym.
  417. </dd>
  418. </dl>
  419. - id: "conflicting-key-symbol"
  420. code: 461
  421. added: ALWAYS
  422. type: warning
  423. description: "Warn if there are conflicting keysyms while merging keys"
  424. - id: "invalid-operation"
  425. code: 478
  426. added: ALWAYS
  427. type: error
  428. description: "The operation is invalid in the context"
  429. - id: "numeric-keysym"
  430. code: 489
  431. added: 1.6.0
  432. type: warning
  433. description: "Warn on numeric keysym (other than 0-9)"
  434. details: |
  435. Numeric keysyms are not human-friendly. Use the corresponding named keysym
  436. or Unicode keysym, if available.
  437. examples:
  438. - name: Hexadecimal keysym `0x1001ed0`
  439. description: |
  440. **Error message:**
  441. ```
  442. xkbcommon: WARNING: [XKB-489] numeric keysym "0x1001ed0"
  443. ```
  444. before: |
  445. ```c
  446. key <AE01> { [ 0x1001ed0] };
  447. ```
  448. after: |
  449. ```c
  450. // Preferred form: human-friendly
  451. key <AE01> { [ Ocircumflexacute ] };
  452. // or
  453. key <AE01> { [ U1ED0 ] };
  454. ```
  455. - id: "extra-symbols-ignored"
  456. code: 516
  457. added: ALWAYS
  458. type: warning
  459. description: "TODO: add description"
  460. - id: "conflicting-key-name"
  461. code: 523
  462. added: ALWAYS
  463. type: warning
  464. description: "Conflicting definitions of a key name or alias"
  465. - id: "invalid-file-encoding"
  466. code: 542
  467. added: 1.7.0
  468. type: error
  469. description: "Invalid file encoding"
  470. - id: "allocation-failure"
  471. code: 550
  472. added:
  473. internal: ALWAYS
  474. public: 1.14.0
  475. type: error
  476. visibility: public
  477. description: "Cannot allocate memory"
  478. - id: "invalid-action-field"
  479. code: 563
  480. added: ALWAYS
  481. type: error
  482. description: "Unknown or unsupported action field"
  483. - id: "wrong-field-type"
  484. code: 578
  485. added: ALWAYS
  486. type: error
  487. description: "Warn when a field has not the expected type"
  488. - id: "unsupported-overlay-index"
  489. code: 588
  490. added: 1.14.0
  491. type: error
  492. description: "Overlay index is not in the supported range"
  493. - id: "cannot-resolve-rmlvo"
  494. code: 595
  495. added: ALWAYS
  496. type: error
  497. description: "Cannot resolve a given (Rules, Model, Layout, Variant, Options) configuration"
  498. - id: "invalid-unicode-escape-sequence"
  499. code: 607
  500. added: 1.9.0
  501. type: warning
  502. description: "Invalid Unicode escape sequence"
  503. details: |
  504. xkbcommon support the Unicode sequence `\u{NNNN}`, where `NNNN` denotes a
  505. Unicode code point in hexadecimal format in the range `1‥0x10ffff`.
  506. - id: "invalid-real-modifier"
  507. code: 623
  508. added: ALWAYS
  509. type: error
  510. description: "Invalid _real_ modifier"
  511. - id: "no-valid-default-include-path"
  512. code: 632
  513. added: 1.13.0
  514. type: error
  515. description: "Unable to add any default include path"
  516. details: |
  517. xkbcommon requires to define at least one include path in order to look up
  518. XKB files. See @ref include-path "" for further details.
  519. - id: "unknown-default-field"
  520. code: 639
  521. added: 1.10.0
  522. type: error
  523. description: "Cannot set default value to a an unknown field"
  524. - id: "unknown-char-escape-sequence"
  525. code: 645
  526. added: ALWAYS
  527. type: warning
  528. description: "Warn on unknown escape sequence in string literal"
  529. details: |
  530. xkbcommon support the following escape sequences in string literals:
  531. | Escape sequence | Corresponding character |
  532. | --------------- | ---------------------------------------------------------- |
  533. | `\b` | `U+0008` Backspace |
  534. | `\t` | `U+0009` Character tabulation |
  535. | `\n` | `U+000A` Line feed |
  536. | `\v` | `U+000B` Vertical tabulation |
  537. | `\f` | `U+000C` Form feed |
  538. | `\r` | `U+000D` Carriage return |
  539. | `\e` | `U+001B` Escape |
  540. | `\\` | `U+005C` Backslash |
  541. | `\"` | `U+0022` Double quote |
  542. | `\NNNN` | _Octal_ escape, `NNNN` in range `1‥0o377` |
  543. | `\u{NNNN}` | _Unicode_ hexadecimal escape, `NNNN` in range `1‥0x10ffff` |
  544. - id: "invalid-included-file"
  545. code: 661
  546. added: ALWAYS
  547. type: error
  548. description: "The target file of an include statement could not be processed"
  549. - id: "invalid-compose-locale"
  550. code: 679
  551. added: 1.12.0
  552. type: error
  553. description: "Invalid locale for Compose"
  554. details: |
  555. The locale is either invalid (not installed on the system) or not registered
  556. in the X11 Compose registry.
  557. - id: "invalid-compose-syntax"
  558. code: 685
  559. added: ALWAYS
  560. type: error
  561. description: "The Compose file syntax is invalid and the entry cannot be parsed"
  562. - id: "incompatible-actions-and-keysyms-count"
  563. code: 693
  564. added: 1.8.0
  565. type: error
  566. description: "A level has a different number of keysyms and actions"
  567. details: |
  568. A level must have exactly the same number of keysyms and actions.
  569. - id: "multiple-groups-at-once"
  570. code: 700
  571. added: ALWAYS
  572. type: warning
  573. description: "Warn if a key defines multiple groups at once"
  574. - id: "unsupported-symbols-field"
  575. code: 711
  576. added: ALWAYS
  577. type: warning
  578. description: "A legacy X11 symbol field is not supported"
  579. - id: "incompatible-keymap-text-format"
  580. code: 742
  581. added: 1.11.0
  582. type: error
  583. description: "The keymap has features unsupported in the target format"
  584. details: |
  585. See @ref keymap-support "" for further details.
  586. - id: "rules-invalid-layout-index-percent-expansion"
  587. code: 762
  588. added: 1.11.0
  589. type: error
  590. description: "Cannot expand `%%i`: missing layout or variant in MLVO rule fields"
  591. details: |
  592. In a @ref rule-file-format "rules file", `%%i` denotes the index of the
  593. matched layout. It can only be used in the [KcCGST] value of the rule if the
  594. layout or variant is defined in the [MLVO] fields of the rule header.
  595. Otherwise the rule is always discarded.
  596. To fix the error, either remove the `:%%i` specifier or add a the relevant
  597. [MLVO] field, e.g. `layout[any]`.
  598. [KcCGST]: @ref KcCGST-intro
  599. [MLVO]: @ref RMLVO-intro
  600. - id: "invalid-xkb-syntax"
  601. code: 769
  602. added: ALWAYS
  603. type: error
  604. description: "The XKB syntax is invalid and the file cannot be parsed"
  605. details: |
  606. See @ref keymap-text-format-v1-v2 "" for further details.
  607. - id: "undefined-keycode"
  608. code: 770
  609. added: ALWAYS
  610. type: warning
  611. description: "Reference to an undefined keycode"
  612. - id: "invalid-expression-type"
  613. code: 784
  614. added: ALWAYS
  615. type: error
  616. description: "An expression has not the expected type"
  617. - id: "invalid-value"
  618. code: 796
  619. added: ALWAYS
  620. type: error
  621. description: "A value is invalid and will be ignored"
  622. - id: "conflicting-modmap"
  623. code: 800
  624. added: ALWAYS
  625. type: warning
  626. description: "Warn if there are conflicting modmap definitions"
  627. details: |
  628. @todo detailed explanation and examples
  629. - id: "unknown-field"
  630. code: 812
  631. added: ALWAYS
  632. type: error
  633. description: "A field is unknown and will be ignored"
  634. - id: "keymap-compilation-failed"
  635. code: 822
  636. added: ALWAYS
  637. type: error
  638. description: "Keymap compilation failed"
  639. - id: "unsupported-keymap-serialization-flags"
  640. code: 829
  641. added:
  642. internal: 1.12.0
  643. public: 1.14.0
  644. type: error
  645. visibility: public
  646. description: "Unsupported keymap serialization flags"
  647. details: |
  648. See `::xkb_keymap_serialize_flags` for the list of valid flags.
  649. - id: "unknown-action-type"
  650. code: 844
  651. added: ALWAYS
  652. type: error
  653. description: "Unknown action type"
  654. details: |
  655. See @ref key-actions "" for the list of supported actions.
  656. - id: "abi-forward-compat"
  657. code: 876
  658. type: error
  659. visibility: public
  660. added: 1.14.0
  661. description: ABI forward-compatibility check failed
  662. details: |
  663. The caller was compiled against a newer version of the library and is
  664. using fields unknown to this version.
  665. - id: "conflicting-key-action"
  666. code: 883
  667. added: ALWAYS
  668. type: warning
  669. description: "Warn if there are conflicting actions while merging keys"
  670. - id: "conflicting-key-type-merging-groups"
  671. code: 893
  672. added: ALWAYS
  673. type: warning
  674. description: "Warn if there are conflicting key types while merging groups"
  675. - id: "conflicting-key-symbols-entry"
  676. code: 901
  677. added: ALWAYS
  678. type: error
  679. description: "Conflicting symbols entry for a key"
  680. - id: "missing-symbols-group-name-index"
  681. code: 903
  682. added: ALWAYS
  683. type: warning
  684. description: "Missing group index in a group name entry"
  685. - id: "abi-backward-compat"
  686. code: 914
  687. type: error
  688. visibility: public
  689. added: 1.14.0
  690. description: ABI backward-compatibility check failed
  691. details: |
  692. The caller was compiled against an older version of the library and is
  693. missing fields that are mandatory in this version.
  694. - id: "unknown-section-flag"
  695. code: 917
  696. added: 1.14.0
  697. type: error
  698. description: "Invalid section flag"
  699. details: |
  700. See the list of valid [section flags](@ref section-flags-def).
  701. - id: "conflicting-key-fields"
  702. code: 935
  703. added: ALWAYS
  704. type: warning
  705. description: "Warn if there are conflicting fields in the key definition or while merging keys"
  706. - id: "invalid-identifier"
  707. code: 949
  708. added: ALWAYS
  709. type: error
  710. description: "An identifier is used but is not built-in"
  711. - id: "unresolved-keymap-symbol"
  712. code: 965
  713. added: ALWAYS
  714. type: warning
  715. description: "Warn if using a symbol not defined in the keymap"
  716. - id: "invalid-rules-syntax"
  717. code: 967
  718. added: ALWAYS
  719. type: error
  720. description: "The rules syntax is invalid and the file cannot be parsed"
  721. details: |
  722. See @ref rule-file-format "" for further information.
  723. - id: "undeclared-modifiers-in-key-type"
  724. code: 971
  725. added: ALWAYS
  726. type: warning
  727. description: "Some modifiers used in a key type “map” or “preserve” entry are not declared"
  728. details: |
  729. The modifiers used in `map` or `preserve` entries should be declared using the entry
  730. `modifiers` in the key type.
  731. # TODO: unicode keysym when named and recommended keysym exists