A feature-rich ZMK firmware configuration for the Kyria Rev3 split ergonomic keyboard, featuring an integrated Cirque trackpad, OLED display, RGB underglow, and a carefully tuned typing experience. Optimized for developers and power users.
- Keyboard: Splitkb Kyria Rev3
- Controllers: nice!nano v2
- Trackpad: Cirque Pinnacle (40mm)
- Display: OLED (left half, dongle display)
- Encoders: EC11 rotary encoders (both halves)
- Lighting: WS2812 RGB underglow (31 LEDs)
Full mouse control without leaving the home row. The trackpad behavior changes based on the active layer:
| Layer | Mode | Behavior |
|---|---|---|
| Base | Normal | 2:1 scaling for everyday use |
| Symbols | Scroll | XY movement converts to scroll |
| Numbers | Precision | 1:1 scaling for fine control |
| Mouse | Warp | 3:1 scaling for fast cursor movement |
Implements urob's timeless homerow mods pattern - a balanced hold-tap configuration that virtually eliminates misfires while maintaining a snappy typing experience.
The dedicated shift key uses a tap-dance behavior:
- Single tap: Sticky Shift (one-shot modifier)
- Double tap: Caps Word (auto-capitalizes until space/punctuation)
Custom status screen on the left half showing:
- Current layer
- Modifier states (with Mac symbols)
- Connection status
- Battery level
Layer-aware encoder bindings:
| Layer | Left Encoder | Right Encoder |
|---|---|---|
| Base | Desktop switching | Scroll up/down |
| Symbols | (disabled) | Volume up/down |
| Numbers | (disabled) | Brightness up/down |
| Navigation | Window zoom | (disabled) |
| Function | Word navigation | (disabled) |
| Mouse | Scroll up/down | Scroll left/right |
31-LED underglow with full ZMK RGB control. Default color: purple (270° hue).
Productivity-focused key combinations:
| Combo | Layer | Action |
|---|---|---|
| U + I + O | Base | Mission Control |
| Thumb keys | Base | Tab switching |
| Thumb keys | Base | Pane focus |
| Thumb keys | Symbols | Indent/Dedent |
| E + R + T | Base | Delete selection |
| C + V + B | Base | Duplicate selection |
| Bottom row | Any | Search bar (Cmd+Space) |
Standard QWERTY with homerow mods and thumb cluster for layers/modifiers.
Programming-focused symbol layout with brackets on top row and special characters on home row.
Right-hand numpad with mathematical operators.
Arrow keys, page navigation, window management, and macOS desktop controls.
F-keys, media controls, screenshots, clipboard operations, and RGB controls.
Keyboard-driven mouse movement with WASD-style controls. Toggle via double-tap on middle click key.
- Python 3.x
- ARM toolchain (
brew install armmbed/formulae/arm-none-eabi-gcc) - CMake, Ninja, dtc
./build.shOutputs:
output/zmk_left.uf2- Left half firmwareoutput/zmk_right.uf2- Right half firmware
./build_debug.shIncludes verbose output, prerequisite validation, and USB logging for the right half.
./generate_layout.shCreates visual keymap representations in ./layouts/.
- Connect the keyboard half via USB
- Double-tap the reset button to enter bootloader mode
- Copy the appropriate
.uf2file to the mounted drive - Repeat for the other half
This configuration uses several community modules:
- ZMK - Core firmware
- zmk-helpers - Keymap utilities
- cirque-input-module - Trackpad driver
- zmk-dongle-display - OLED display support
- splitkb for the Kyria keyboard
- urob for the timeless homerow mods pattern and zmk-helpers
- petejohanson for the Cirque input module
- englmaxi for the dongle display module
MIT





