spiegel-keyman/developer/src/kmc-ldml
Marc Durdin 57f0dc4597 fix(developer): validate id and modifiers attributes in Layr compiler
Per the spec, the `id` attribute is required for touch layers, and
`modifiers` attribute is required for hardware layers. There is
ambiguity in the spec at present as to whether they should be allowed
for the alternative type.

* Validate that the attributes are present where required.
* Tighten validation of `modifiers` attribute - it cannot be empty or
  missing for hardware; "" != "none".
* Hint if the attribute is present when it probably shouldn't be (to be
  potentially raised to warning or error after spec clarified).
* Fixup all keyboard3 xml files to conform to spec and eliminate hints.
* Add unit tests.
* Removed threshold warning for coverage as kmc-ldml is already > 90%.

Fixes: #12423
2026-08-28 13:21:12 +02:00
..
src fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
test fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
.eslintrc.cjs change(developer): clean up developer/src/kmc-ldml linter issues 2025-04-30 09:20:12 +07:00
.gitignore feat(developer): update builder for abnf 2025-02-14 13:12:11 -06:00
build.sh fix(developer): validate id and modifiers attributes in Layr compiler 2026-08-28 13:21:12 +02:00
package.json maint(developer): make TestCompilerCallbacks usage more consistent and simplify 2026-03-03 16:44:06 +01:00
README.md docs(developer): npm package readme files 2024-02-26 14:00:51 +07:00
tsconfig.json feat(developer): update builder for abnf 2025-02-14 13:12:11 -06:00

Keyman Developer - kmc-ldml

This package compiles LDML .xml keyboards into Keyman .kmx binary keyboard files. It can be used from the command line with @keymanapp/kmc.

Note: this package requires WASM support (for the uset parser).