Skip to main content

Crate rmk_types

Crate rmk_types 

Source
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)

  • comboCombo: combo trigger configuration
  • forkFork, StateBits: key-override configuration
  • morseMorse, MorsePattern, MorseProfile, MorseMode: tap-dance/tap-hold

§Hardware state

§Protocol

  • protocol::vial — Vial/Via protocol types
  • [protocol::rynk] — RMK native protocol ICD (feature-gated: rynk)

§Build-time

  • constants — Generated from keyboard.toml by build.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 packed u8 on the wire), the .d.ts decl, and the self-describing wasm ABI — all from one field table.
impl_debug_list
Implements core::fmt::Debug and (under feature = "defmt") defmt::Format for $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 no unchecked_return_type.