Personal split-keyboard firmware on ZMK.
This repo keeps one shared layout stack across a few boards, with behavior built on top of urob/zmk-helpers and urob/zmk-adaptive-key.
- Alpha layers: Graphite, Racket, DuskWP, Bunya, Vestnik
- Adaptive alpha magic plus thumb repeat/shift magic
- Timeless home row mods with
hold-trigger-on-release - Symbols arranged around T-34 effort grades
- Shared base config with board-specific wrappers, manifests, and overrides
| Board | Repo config | Make target |
|---|---|---|
| Ferris Sweep | cradio.* |
cradio |
| Aurora Sweep | splitkb_aurora_sweep.* |
aurora |
| Piantor Pro | piantor_pro.* |
piantor |
| Glove80 | glove80.* |
glove80 |
config/
base.keymap shared layers, behaviors, combos
<board>.keymap board wrapper
<board>.west.yml module manifest for that board
<board>.build.yaml board/shield build targets
<board>.conf board-specific Kconfig
draw/
config.yaml keymap-drawer config
<board>.yaml parsed keymap output
<board>.svg rendered layout preview
build.sh low-level build entry point
Makefile common shortcuts
Dependencies come from each board's west manifest; there are no checked-in local ZMK modules in this repo.
Use make for day-to-day work:
make help
make setup # initialize all board workspaces
make cradio # build firmware + drawing for one board
make aurora-left # build one half only
make cradio-reset # build settings_reset firmware
make draw # redraw supported layout previews
make clean # remove build outputs and draw cachebuild.sh is still available as the lower-level entry point when you want the raw board ids directly:
./build.sh splitkb_aurora_sweep setup
./build.sh cradio left
./build.sh glove80 right
./build.sh piantor_pro resetIf you change a board's .west.yml, rerun that board's setup command so west update picks up the new modules.