Expand description
§RMK Types
Shared type definitions used across the RMK keyboard firmware ecosystem.
§Modules
§Actions & keycodes
action— What keys do:Action,KeyAction,EncoderAction,LightAction, etc.keycode— What keys are:KeyCode,HidKeyCode,ConsumerKey,SystemControlKey
§Behaviors (key overrides, combos, tap-dance)
combo—Combo: combo trigger configurationfork—Fork,StateBits: key-override configurationmorse—Morse,MorsePattern,MorseProfile,MorseMode: tap-dance/tap-hold
§Hardware state
modifier—ModifierCombinationbitfieldmouse_button—MouseButtonsbitfieldled_indicator—LedIndicatorbitfieldbattery—BatteryStatus,ChargeStateble—BleStatus,BleStateconnection—ConnectionType(USB/BLE),UsbState,ConnectionStatus
§Protocol
protocol::vial— Vial/Via protocol types- [
protocol::rynk] — RMK native protocol ICD (feature-gated:rynk)
§Build-time
constants— Generated fromkeyboard.tomlbybuild.rs
Modules§
- action
- Keyboard actions and behaviors.
- battery
- Battery status types.
- ble
- BLE status types.
- combo
- Combo configuration types shared between firmware and protocol layers.
- connection
- Shared connection type definitions used across RMK crates.
- constants
- fmt
- Formatting helpers shared across the RMK crates.
- fork
- Shared fork-related types used by firmware and protocol layers.
- keycode
- Keycode definitions including HID keycodes, media keys, and system control keycodes.
- led_
indicator - LED indicator.
- modifier
- Modifier keys and their operations.
- morse
- Morse key types shared between firmware and protocol layers.
- mouse_
button - Mouse button state and operations.
- protocol
- Communication protocol definitions.
Macros§
- bitfield_
named_ serde - Bridges a
#[bitfield(u8)]type to a non-bitfield TypeScript object: Serialize / Deserialize (a named-bool object for human-readable formats, the packedu8on the wire), the.d.tsdecl, and the self-describing wasm ABI — all from one field table. - impl_
debug_ list - Implements
core::fmt::Debugand (underfeature = "defmt")defmt::Formatfor$ty, rendering as a list whose entries come from iterating$iter. - wasm_
object_ abi - Gives a type the wasm ABI to be returned to JS as an object, keeping its own name
in the generated
.d.ts— so a#[wasm_bindgen]fn returning it needs nounchecked_return_type.