Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



CI status

User documentation

Developer documentation

As of version 2.0, kbdgen is written in a combination of Rust and Python. PyOxidizer is used to bundle a Python interpreter in the Rust binary so end users don’t have to concern themselves with installing additional dependencies.

Start hacking on kbdgen

  1. Install the latest stable Rust version using Rustup

  2. Install pyoxidizer:

    1. Make sure you have a C compiler, usual build tools like Make, and probably also openssl headers installed, so you can compile the Python interpreter and its standard library.

    2. Install the pyoxidizer version. The quickest way is using cargo install pyoxidizer --vers 0.7.0.

  3. Build the project using cargo build.

Rendering the documentation

The kbdgen User Manual can be found in docs/ and is written in AsciiDoc.

To render it, install Asciidoctor, run gem install coderay, go into the docs/ directory, and run asciidoctor --verbose index.adoc .

Some parts of the documentation are actually automatically generated by using a special derive macro on some structs. See ./derive-collect-docs for more information.


Licensed under either of

at your option.


Fork and PR on Github.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.