| 🌿 Raii | 🪸 Urchin |
|---|---|
![]() |
![]() |
| 34 keys (3x5+2) | 34 keys (3x5+2) |
| ✖️ Crosses | 🪶 Corne |
![]() |
![]() |
| 36 keys (3x5+3) | 42 keys (3x6+3) |
My personal ZMK firmware configuration shared across some different keyboards. Features a unified logical layout with board-specific physical mappings.
This project uses a modular architecture to share keymap logic across different keyboard layouts:
config/base.dtsi: Core keymap logic (layers, combos, behaviors) for 34 logical keys- Board-specific keymaps: Map the 34 logical keys to each keyboard's physical layout
cradio.keymap/urchin.keymap: 34 keys (direct mapping)crosses.keymap: 36 keys (34 logical + 2 thumb keys)corne.keymap: 42 keys (34 logical + 8 edge keys)
- Home Row Mods: Inspired by urob's timeless layout
- Smart Combos: Essential actions (Esc, Enter, Cut/Copy/Paste) without extra keys
- Auto-Sentence: Automatic capitalization and period insertion
- Mouse Layer: Pointing device support with tap-toggle/hold-momentary behavior (board-dependent)
- Shared Configuration: DRY approach with
default.conffor common settings
| 🌿 Raii / 🪸 Urchin | ✖️ Crosses | 🪶 Corne |
|---|---|---|
This project uses mise for tool management and just for commands.
- Install
mise: Follow instructions at mise.jdx.dev - Initialize environment:
mise exec -- just init
All commands support multiple boards. Run with mise exec -- just <command> or just <command> if mise is activated.
just build [board] [side] # board: raii (default), urchin, corne, crosses
# side: left, right, all (default)Examples:
just build→ Build Raii (both sides)just build corne left→ Build Corne left sidejust build crosses all→ Build Crosses (both sides)
just flash [board] [side] # board: raii, urchin, corne, crosses
# side: left, rightExamples:
just flash corne right→ Flash Corne right side
just draw [board] # board: raii, urchin, corne, crossesExamples:
just draw→ Generatedraw/raii.svg(Raii / Urchin layout)just draw corne→ Generatedraw/corne.svgjust draw all→ Generate all boards
| Command | Description |
|---|---|
just clean |
Clean build artifacts |
just clean-all |
Clean everything (workspace + venv) |
just update |
Update ZMK and dependencies |
just check |
Verify environment setup |
- urob/zmk-config — Home-row mods and ZMK helpers
- caksoylar/keymap-drawer — Keymap visualization
- unspecworks/raii-wireless — Raii keyboard design
- duckyb/urchin — Urchin keyboard design
- Good-Great-Grand-Wonderful/crosses — Crosses keyboard design
- foostan/crkbd — Corne keyboard design



