#keyboard #embedded-devices #bare-metal #keyboard-layout #data-structures #no-std

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

#2148 in Embedded development

Download history 34/week @ 2024-03-11 27/week @ 2024-03-18 44/week @ 2024-03-25 77/week @ 2024-04-01 28/week @ 2024-04-08 100/week @ 2024-04-15 84/week @ 2024-04-22 43/week @ 2024-04-29 37/week @ 2024-05-06 28/week @ 2024-05-13 24/week @ 2024-05-20 35/week @ 2024-05-27 26/week @ 2024-06-03 34/week @ 2024-06-10 33/week @ 2024-06-17 37/week @ 2024-06-24

131 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

~2.5MB
~53K SLoC