spiegel-keyman/resources/standards-data/keylayout/readme.md
Sabine 8633cb50f2
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
feat(developer): rework createKmnModifier(), checkIfCapsIsUsed() and adapt tests; edit test of of readme.md/keylayout-xml.ts
2026-03-16 19:50:04 +01:00

1.2 KiB

Keylayout

A keylayout file is a configuration file used macOS to define custom keyboard mappings, mapping physical key presses to specific characters or Unicode symbols. These XML-based files, created with Ukelele, allow users to create custom layouts for different languages or special haracters, such as mapping Option + Key combinations. With kmc-convert we can convert these keylayout files to .kmn files which can be used in Keyman keyboards. For validating a .keylayout file a keylayout.schema.json is needed.

This is to get a keylayout.schema.json:

  • We first need to have a .XSD file created from a .keylayout file (which is an xml-file type ) e.g. resources\standards-data\keylayout\dtd\keylayout.xsd

  • Then we need to run ./create_keylayout_schema.sh to obtain a .schema.json file e.g resources\standards-data\keylayout\create_keylayout_schema.sh

  • Then we need to run build.sh configure of common/web/types/ which will create a schema.validate.mjs file e.g. common/web/types/build.sh configure

  • The .mjs can then be used via SchemaValidators to validate keylayout files e.g. SchemaValidators.default.keylayout(source)