Features
This section explains what RMK can do and how each feature works. It focuses on concepts and usage; the exact keyboard.toml fields and Rust API for each feature are documented in the Configuration section.
- Matrix - Normal, direct-pin and bidirectional matrices, async scanning and custom matrix traits
- Layers - Layer stack, default layer and layer keys
- Wireless - Supported BLE chips, multiple profiles, passkey entry and wireless split
- Configuration - Overview of
keyboard.tomland the Rust API - Low Power -
async_matrix, BLE idle sleep and external VCC control - Split Keyboard - Wired and wireless split keyboards
- Dongle - USB dongle that relays a wireless keyboard to the host
- Vial support - Real-time keymap editing with the Vial app
- Rynk - RMK's native host protocol (experimental)
- USB Logging - Logs over a USB serial port without a debug probe
- Storage - Persistent flash storage for keymaps and bonding data
- Use Rust - Switch a generated project from
keyboard.tomlto the Rust API - Processor - Components that consume events, such as displays and LEDs
- Event - The event channels that connect input devices, processors and the keyboard core
- Input Device - Encoders, joysticks, pointing devices and other input hardware
- Display - OLED and other small displays
- Stenography - Plover stenography over USB HID
- Binary size - Tricks to shrink the firmware
- Watchdog - Hardware watchdog for recovering from hangs