spiegel-keyman/common/test/keyboards/baseline/README.md
Eberhard Beilharz b339a9772c
docs(common): improve documentation for .kmn test files
Build-bot: skip
Test-bot: skip
2026-01-14 18:16:57 +01:00

1.8 KiB

Keyboard baseline fixtures

This folder contains a set of keyboards that are used by multiple projects to verify behaviour, both for compilation, and for runtime tests.

The following projects are known to use these keyboards:

  • core -- .kmn files only, compiled with kmc during tests
  • developer/kmcmplib -- .kmn files, compiled for tests, and .kmx as reference
  • linux -- .kmn files for test steps only, .kmx files
  • web -- .kmn files for test steps, .kmx and .js files

The .kmx and .js files were built with kmcomp, not kmc, in order to ensure that developer/kmcmplib gets a valid baseline reference.

Once kmc is stable, it is possible that we will be able to use the kmc npm module to build .kmx for all projects that need them.

Build parameters

The keyboards can be built with:

./build.sh build

This builds the keyboards with debug information and no compiler version embedded.

Grouping of the test fixtures

Fixtures that test similar functionality are roughly grouped together. There is some overlap between different groups, so this was done mainly by test name.

Name Test group
k_00xx_* Tests that didn't fit in any other group
k_01xx_* Basic rules
k_02xx_* RALT
k_03xx_* deadkeys
k_04xx_* Using multiple groups
k_05xx_* Options
k_06xx_* System stores
k_07xx_* Caps related tests
k_08xx_* Context related

Description of file format

See README.md in core for a description of the file format.