An ergonomically optimized ZMK configuration for the Corne v3 keyboard (3x6+3) featuring e-paper display, RGB underglow, and workflow-tuned keymaps designed specifically for vim, tmux, and tiling window managers.
- 🏠 Home Row Modifiers - Reduces pinky strain with balanced timing (280ms)
- 👍 Optimized Thumb Cluster - All 4 layers accessible via dedicated thumb keys
- ⚡ Smart Combos - Quick access to Escape and Tab via key combinations
- 🎯 Numpad Layout - Proper 3x3 numpad with calculator operators
- ⚙️ Dedicated Settings Layer - Easy Bluetooth and RGB control
- 📱 E-Paper Status Display - Custom battery, connectivity, and layer indicators
- 🌈 RGB Underglow - Full color and effect control
- ⌨️ Colemak-DH Primary - Optimized for typing comfort
- 🔧 Workflow-Optimized - Tailored for development with vim, tmux, and window management
This configuration is specifically tuned for development workflows including:
- Vim/Neovim - Escape on Caps Lock tap, N+E combo for quick Escape
- tmux -
Ctrl+Qprefix with thumb Ctrl,Ctrl+hjklnavigation via home row - Hyprland/i3/Sway - One-keypress workspace switching with Super+numbers
- Terminal-heavy development with multiple Ctrl access points
- Coding with optimized symbol and function key layers
┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐
│ TAB │ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ ; │CTRL/│
│ │ │ │ │ │ │ │ │ │ │ │ │BKSP │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│CTRL/│ A/ │ R/ │ S/ │ T/ │ G │ │ M │ N/ │ E/ │ I/ │ O/ │ ' │
│ ESC │GUI │ALT │CTRL │SHFT │ │ │ │SHFT │CTRL │ALT │GUI │ │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│SHFT/│ Z │ X │ C │ D │ V │ │ K │ H │ , │ . │ / │GUI/ │
│CAPS │ │ │ │ │ │ │ │ │ │ │ │SPC │
└─────┴─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
│ TAB │ SYM │GUI/ │ │NUM/ │ KBD │ NAV │
│ │ ↓ │SPC │ │ENTR │ ↓ │ ↓ │
└─────┴─────┴─────┘ └─────┴─────┴─────┘
Key Improvements:
- Caps Lock: Tap for Escape (vim!), Hold for Ctrl (terminal!)
- Left Thumbs: Tab | Symbols | Super/Space
- Right Thumbs: Numbers+Enter | Keyboard Settings | Functions/Nav
- Bottom Right: Tap for Space, Hold for Super (alternative Super access)
- All 4 layers accessible via dedicated thumb keys
┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐
│ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ DEL │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │PREV │PLAY │NEXT │MUTE │VOL+ │ │ - │ = │ ' │ [ │ ] │ ` │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │ │ │ │ │VOL- │ │ _ │ + │ ~ │ { │ } │ | │
└─────┴─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
│ │ ▼▼▼ │ │ │ INS │ DEL │ │
└─────┴─────┴─────┘ └─────┴─────┴─────┘
Features:
- Symbols for coding on top row
- Media controls (prev/play/next, mute, volume) on home row left
- Paired brackets and operators easily accessible
┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐
│ │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ ↑ │ F8 │ F9 │ F10 │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │ F11 │ F12 │ F13 │ F14 │ F15 │ │ F16 │ ← │ ↓ │ → │HOME │PGUP │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │ │ │ │ │ │ │ │ │ │ │ END │PGDN │
└─────┴─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
│ │ │ │ │ ▼▼▼ │ │ │
└─────┴─────┴─────┘ └─────┴─────┴─────┘
Features:
- All 16 function keys (F1-F16) for development tools
- Arrow keys in vim-style HJKL positions
- Home/End/PgUp/PgDn for document navigation
┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐
│ │ │ │ │ │ │ │ + │ 7 │ 8 │ 9 │ * │PRSCR│
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │ │ │ │ │ │ │ - │ 4 │ 5 │ 6 │ = │ │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │ │ │ │ │ │ │ / │ 1 │ 2 │ 3 │ . │ │
└─────┴─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
│ │ │ │ │ ▼▼▼ │ 0 │ │
└─────┴─────┴─────┘ └─────┴─────┴─────┘
Features:
- Numpad layout: 7/8/9, 4/5/6, 1/2/3, 0 - natural number typing
- Calculator operators: +, -, *, /, =, . for quick calculations
- Workspace switching: Hold Super (middle thumb) + number for
Super+[number] - Move window: Hold Super + Shift (home row) + number for
Super+Shift+[number]
┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐
│BTCLR│ BT1 │ BT2 │ BT3 │ BT4 │ BT5 │ │ │ │ │ │ │ │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │RGB │RGB │RGB │RGB │RGB │ │ │ │ │ │ │ │
│ │ ON │EFF │HUE+ │SAT+ │BRI+ │ │ │ │ │ │ │ │
├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤
│ │RGB │RGB │RGB │RGB │RGB │ │ │ │ │ │ │ │
│ │OFF │EFR │HUE- │SAT- │BRI- │ │ │ │ │ │ │ │
└─────┴─────┴─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┴─────┴─────┘
│ │ │ │ │ │ ▼▼▼ │ │
└─────┴─────┴─────┘ └─────┴─────┴─────┘
Features:
- Bluetooth profiles: Switch between 5 paired devices (BT1-BT5)
- BT Clear: Clear all Bluetooth pairings
- RGB underglow control:
- Toggle on/off
- Cycle effects (forward/reverse)
- Adjust hue, saturation, brightness
- All controls on left side for easy access
Ergonomic modifiers reduce finger travel and pinky strain:
Left Hand (Colemak):
A→ GUI/Super (hold)R→ Alt (hold)S→ Ctrl (hold)T→ Shift (hold)
Right Hand (Colemak):
N→ Shift (hold)E→ Ctrl (hold)I→ Alt (hold)O→ GUI/Super (hold)
Timing: 280ms tap-hold threshold with quick-tap enabled for balanced response.
Quick access key combinations that activate when pressed simultaneously:
| Keys | Result | Use Case |
|---|---|---|
| N + E | Escape | Vim muscle memory (like JK in insert mode) |
| Q + W | Tab | Quick tab without reaching |
Combo Timing: 50ms window for simultaneous key presses
- Tap: Escape (essential for vim users!)
- Hold: Ctrl (for terminal commands)
- Eliminates pinky strain from corner Ctrl
- Tap: Tab (autocomplete, window switching)
- Hold: Super/GUI (window management commands)
- Most frequently used thumb position
- Quick access to forward delete
- Replaces redundant layer toggle
- Tap: Space (alternative access)
- Hold: Super/GUI (for one-handed window mgmt)
- Tap-Dance: Shift/Caps on left pinky (tap twice for Caps Lock)
- Hold-Tap: Optimized 280ms timing for home row mods
- Balanced Flavor: Prevents accidental modifier activation during fast typing
- Quick-Tap: 175ms window for repeated taps without triggering hold
- Combos: 50ms simultaneous press window for combo triggers
- Board: Corneish Zen v2 (left/right split)
- Layout: Corne v3 (3x6+3 keys)
- Display: E-paper with custom status widgets
- RGB: Full underglow with 16+ effects
- MCU: Nice Nano v2 compatible
- Wireless: Bluetooth 5.0 with 5 profile support
- Battery: Built-in rechargeable with e-paper battery indicator
- Fork this repository
- Enable GitHub Actions in your fork's settings
- Push changes to trigger automatic firmware build
- Download firmware from the Actions tab (artifacts)
- Flash to keyboard:
- Put keyboard half into bootloader mode (double-tap reset)
- USB drive appears named "NICENANO" or similar
- Drag
corneish_zen_v2_left-zmk.uf2to left half - Drag
corneish_zen_v2_right-zmk.uf2to right half - Drive auto-ejects when complete
- Pair Bluetooth (if wireless)
- Enjoy your optimized workflow!
The layout is highly customizable. Edit config/corneish_zen.keymap to adjust:
- Tap-hold timings: Change
tapping-term-msvalues in behaviors section - Combo timeout: Adjust
timeout-msin combo definitions - Layer arrangements: Reorder or modify layer bindings
- RGB effects: Configure colors, brightness, and patterns
- Workspace macros: Customize Super+number combinations
corneish_zen.keymap- Main keymap and behavior definitionscorneish_zen.conf- System settings (sleep timeout, RGB, etc.)widgets/*.c- Custom e-paper display widgets
- Use Caps Lock (tap) for Escape - no more pinky reach!
- N+E combo provides quick Escape from home row
- Ctrl on home row (S/E) makes
Ctrl+[easy to reach - Tab on thumb makes autocomplete (
Ctrl+N/Ctrl+P) comfortable
- Caps Lock (hold) gives Ctrl for
Ctrl+Qprefix - Home row Ctrl (S/E) makes
Ctrl+hjklnavigation natural - Space on thumb keeps prefix combos comfortable
- Single-press workspace switching: Just press Layer 3 + number
- No more awkward Super+Layer+number combinations!
- Tab on thumb (hold for Super) enables easy
Super+Tabwindow switching
- Built with ZMK Firmware
- Inspired by the Corne keyboard
- Home row mod timings from Miryoku
- Corneish Zen hardware by Darryl deHaan
MIT License - See LICENSE file for details