Comparison with Alternatives
The following table compares Lokey with two popular keyboard firmware alternatives: QMK and ZMK.
✅ = supported, ❌ = not supported
| Feature | Lokey | QMK | ZMK |
|---|---|---|---|
| USB | ✅ | ✅ | ✅ |
| Bluetooth Low Energy (BLE) | ✅ | ❌ | ✅ |
| BLE Dongle | ✅ | ❌ | ✅ |
| Dynamic BLE Roles[1] | ✅ | ❌ | ❌ |
| Split Keyboard | ✅[2] | ✅ | ✅ |
| Runtime Remapping | ❌ | ✅[3] | ✅[4] |
| Rotary Encoder | ❌ | ✅ | ✅ |
| Display | ❌ | ✅ | ✅ |
| Backlight/RGB | ❌ | ✅ | ✅ |
| Behaviour: Layers | ✅ | ✅ | ✅ |
| Behaviour: Conditional Layers / Tri-Layers | ✅ | ✅ | ✅ |
| Behaviour: Hold-Tap | ✅ | ✅ | ✅ |
| Behaviour: Media Keys | ❌ | ✅ | ✅ |
| Behaviour: Sticky / One-Shot | ✅ | ✅ | ✅ |
| Behaviour: Toggle / Lock | ✅ | ✅ | ✅ |
| Behaviour: Tap-Dance | ❌ | ✅ | ✅ |
| Behaviour: Key Overrides / Mod-Morph | ✅ | ✅ | ✅ |
| Behaviour: Key Repeat | ❌ | ✅ | ✅ |
| Behaviour: Combos | ❌ | ✅ | ✅ |
| Behaviour: Macros | ✅ | ✅ | ✅ |
| Behaviour: Mouse emulation | ✅ | ✅ | ✅ |
| Scanning: Matrix | ✅ | ✅ | ✅ |
| Scanning: Direct Pin | ✅ | ✅ | ✅ |
| Scanning: Charlieplex | ❌ | ✅ | ✅ |
Dynamic BLE roles let a device switch between central and peripheral roles at runtime. For example, this allows switching between using a BLE dongle and connecting directly to a host over BLE without reflashing the device. Lokey supports this at runtime, while in ZMK the role is fixed at compile time. ↩︎
Lokey currently only supports split keyboards where the halves communicate over BLE. Serial communication between halves is planned. ↩︎
QMK can be remapped at runtime with Via/Vial ↩︎
ZMK can be remapped at runtime with ZMK Studio ↩︎