#state-machine #keyboard

nightly no-std kll-core

KLL state-machine implementation focused on no_std embedded/bare-metal targets

9 releases

0.1.8 May 19, 2023
0.1.7 Nov 29, 2022
0.1.4 Jun 5, 2022
0.1.2 May 22, 2022
0.1.0 Apr 30, 2022

#2686 in Embedded development

Download history 19/week @ 2025-09-18 35/week @ 2025-09-25 29/week @ 2025-10-02 18/week @ 2025-10-09 45/week @ 2025-10-16 36/week @ 2025-10-23 18/week @ 2025-10-30 13/week @ 2025-11-06 15/week @ 2025-11-13 11/week @ 2025-11-20 20/week @ 2025-11-27 14/week @ 2025-12-04 11/week @ 2025-12-11 20/week @ 2025-12-18 16/week @ 2025-12-25 15/week @ 2026-01-01

64 downloads per month
Used in 11 crates (7 directly)

MIT/Apache

170KB
4K SLoC

kll-core

Rust docs.rs Crates.io Crates.io Crates.io

kll-core is the KLL (Kiibohd Layout Language) funcitonal state machine implementation. It is designed to be paired with the kll-compiler crate to process the generate state machine.

The main use-case for kll-core is embedded environments (no_std); however, it does work in standard environments. kll-core uses externally defined datastructures to build the state-machine so the functionality can be manipulated without having to recompile kll-core. This is especially important for embedded devices so firmware can be updated without having to change state configuration.

Usage

See kiibohd-firmware for the primary use-case.

License

Licensed under either of

Contribution

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.

Dependencies

~3MB
~62K SLoC