Skip to main content

KLL Compiler

Project description

kll - keyboard layout language

GitHub Action Status PyPI version Total alerts Language grade: Python

Visit our IRC channel

Visit our Discord Channel

If you're trying to compile keyboard firmware, you want THIS

KLL 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kll-0.5.7.16.tar.gz (176.5 kB view details)

Uploaded Source

Built Distribution

kll-0.5.7.16-py3-none-any.whl (207.9 kB view details)

Uploaded Python 3

File details

Details for the file kll-0.5.7.16.tar.gz.

File metadata

  • Download URL: kll-0.5.7.16.tar.gz
  • Upload date:
  • Size: 176.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for kll-0.5.7.16.tar.gz
Algorithm Hash digest
SHA256 aeaf7a2605cfea53a8f0f9104b030aa13fdddf867f49fc3e4033d2f54b5f481d
MD5 e3a3de2e59d7b61b3557dc368834db98
BLAKE2b-256 2bd5086dce9b15ee101b2e1847940223d506288f8b9847652af9f6d6884bd06d

See more details on using hashes here.

File details

Details for the file kll-0.5.7.16-py3-none-any.whl.

File metadata

  • Download URL: kll-0.5.7.16-py3-none-any.whl
  • Upload date:
  • Size: 207.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for kll-0.5.7.16-py3-none-any.whl
Algorithm Hash digest
SHA256 6c1188c2d805f1e03e38b058c3cc8eff95ce46516226f791c00395225b77dceb
MD5 06026b44e4336f0e0c95d6af19615643
BLAKE2b-256 db27bb2670bd6ce9c9b90531a813f29f369adac5aed33ff77684b4547cf4eda8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page