#state-machine #keyboard #keyboard-layout #bare-metal #firmware #embedded-devices

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

#2108 in Embedded development

Download history 14/week @ 2024-07-22 28/week @ 2024-07-29 29/week @ 2024-08-05 17/week @ 2024-08-12 12/week @ 2024-08-19 39/week @ 2024-08-26 9/week @ 2024-09-02 15/week @ 2024-09-09 8/week @ 2024-09-16 77/week @ 2024-09-23 16/week @ 2024-09-30 4/week @ 2024-10-07 28/week @ 2024-10-14 8/week @ 2024-10-21 13/week @ 2024-10-28 15/week @ 2024-11-04

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

~2.5MB
~55K SLoC