spiegel-keyman/resources/standards-data/keylayout
Sabine 513065ebea
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
feat(developer): edit contents of keylayout.dtd
2026-05-20 20:49:33 +02:00
..
dtd feat(developer): edit contents of keylayout.dtd 2026-05-20 20:49:33 +02:00
create_keylayout_schema.sh chore(developer): update kmc-convert create_keylayout_schema.sh with new builder-basic.inc.sh 2025-08-29 09:54:33 +02:00
keylayout.schema.json feat(developer): 2026-04-27 18:12:34 +02:00
readme.md 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

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)