kll - keyboard layout language
THIS
If you're trying to compile keyboard firmware, you wantKLL Compiler
Most current version of the KLL Spec.
Uses funcparserlib
Dependencies
Dependencies can be installed manually, or by using a pipenv.
pipenv install
pipenv run kll/kll --version
or
pip install layouts
Usage
General Usage
kll <kll files>
Kiibohd Controller Usage
kll <misc kll files> --config <config/capability kll files> --base <basemap kll files) --default <default layer kll files> --partial <partial layer 1 kll files> --partial <partial layer 2 kll files>
See kll --help
for the most up to date documentation
Unit Tests
Unit tests can be found in the tests directory. They are run by Travis-CI, but can be useful when testing your own changes.
Remember to add new tests when adding new features/changes.
Code Organization
- kll/common - Main portion of KLL compiler.
- kll/emitters - Various output formats of the KLL compiler.
- kll/examples - Example kll files, often used for test cases.
- kll/extern - External libraries, copied into git repo for convenience.
- kll/layouts - Layout kll files used for various keyboards and tests.
- kll/templates - Templates used by emitters when generating output.
- tests - Unit tests for the KLL compiler.
Patches/Features/Backends
Completely welcome :D