RMK
RMK is a Rust keyboard firmware crate with lots of usable features, like layer support, dynamic keymap, vial support, BLE wireless, etc, makes firmware customization easy and accessible.
The following table compares features available from RMK, Keyberon, QMK and ZMK:
RMK | Keyberon | QMK | ZMK | |
---|---|---|---|---|
Language | Rust | Rust | C | C |
USB keyboard support | ✅ | ✅ | ✅ | ✅ |
BLE keyboard support | ✅ | ✅ | ||
Real-time keymap editing | ✅ | ✅ | 🚧 | |
Wired split support | ✅ | ✅ | ✅ | |
Wireless split support | ✅ | ✅ | ||
ARM chips(STM32/nRF/RP2040) support | ✅ | ✅ | ✅ | ✅ |
RISC-V & Xtensa chips support | ✅ | |||
Mouse key | ✅ | ✅ | Limited | |
Keyboard configuration | toml (easy) | Rust code (hard) | json + makefile (medium) | Kconfig + devicetree(hard) |
Layers/Macros/Media key support | ✅ | ✅ | ✅ | ✅ |