smart_keymap_core/lib.rs
1#![warn(missing_docs)]
2#![warn(clippy::unwrap_used)]
3#![warn(clippy::expect_used)]
4
5//! Core smart-keymap engine.
6//!
7//! This crate provides the key family implementations
8//! and the [keymap::Keymap] engine.
9//!
10//! Firmware and other consumers that need a compiled keymap instance
11//! use the `smart-keymap` facade package,
12//! which re-exports these modules
13//! and adds `init` / `new_keymap()`
14//! (via `SMART_KEYMAP_CUSTOM_KEYMAP`).
15
16#![cfg_attr(not(feature = "std"), no_std)]
17
18/// Structs for input to the keymap.
19pub mod input;
20/// Smart key interface and implementations.
21///
22/// The core interface is [key::System], and its associated [key::Context],
23/// `PendingKeyState`, and [key::KeyState] types.
24pub mod key;
25/// Keymap implementation.
26pub mod keymap;
27
28/// Split keyboard support.
29pub mod split;
30
31/// A helper value type for Copy-able slices.
32pub mod slice;