This repository contains my personal ZMK firmware configuration for the Corne (CRKBD) split keyboard using nice!nano v2 controllers.
- Keyboard: Corne (CRKBD) 3x6+3 split keyboard
- Controller: nice!nano v2 (both halves)
- Firmware: ZMK
- Base Layer: Default QWERTY layout with home row mods
- Colemak Layer: Alternative typing layout for improved ergonomics
- Gaming Layers: Specialized layouts for gaming with arrow key clusters
- Symbol Layer: Easy access to numbers, symbols, and special characters
- Function Layer: F-keys (F1-F24), media controls, and system functions
- Navigation Layer: Arrow keys, page navigation, virtual desktop switching
- Maintenance Layer: Bluetooth profiles, output toggling, and layer management
- Home Row Mods: GUI, Alt, Ctrl, and Shift on home row for efficient typing
- Layer-Tap Keys: Dual-function keys that act as layer toggles when held
- Combos: Key combinations for frequently used actions
- Custom Macros: Ubuntu system reboot macro included
- Bluetooth Support: 5 profile slots with easy switching
- USB/Bluetooth Toggle: Switch between wired and wireless modes
Standard QWERTY layout with home row modifiers
- Left home row: GUI(A), Alt(S), Ctrl(D), Shift(F)
- Right home row: Shift(J), Ctrl(K), Alt(L), GUI(;)
- Layer access: Symbol(ESC), Navigation(Space/Enter), Function(Tab)
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ `~ โ Q โ W โ E โ R โ T โ โ Y โ U โ I โ O โ P โ \ | โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ CTRL/TABโ GUI/A โ ALT/S โ CTRL/D โ SHFT/F โ G โ โ H โ SHFT/J โ CTRL/K โ ALT/L โ GUI/;: โ '" โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ SHIFT โ Z โ X โ C โ V โ B โ โ N โ M โ ,< โ .> โ /? โ GUI โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ ALT โ SYM/ESC โ NAV/SPC โ โ NAV/ENT โ FUN โ BKSP โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
Ergonomic Colemak layout alternative with same modifier positions
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ `~ โ Q โ W โ F โ P โ B โ โ J โ L โ U โ Y โ ;: โ \ | โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ CTRL/TABโ GUI/A โ ALT/R โ CTRL/S โ SHFT/T โ G โ โ M โ SHFT/N โ CTRL/E โ ALT/I โ GUI/O โ '" โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ SHIFT โ Z โ X โ C โ D โ V โ โ K โ H โ ,< โ .> โ /? โ GUI โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ ALT โ SYM/ESC โ NAV/SPC โ โ NAV/ENT โ FUN โ BKSP โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
Numbers and symbols with logical positioning
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ `~ โ 1 โ 2 โ 3 โ 4 โ 5 โ โ 6 โ 7 โ 8 โ 9 โ 0 โ + โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ CTRL โ ! โ @ โ # โ $ โ % โ โ ^ โ & โ * โ ( โ ) โ = โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ SHIFT โ ~ โ - โ _ โ { โ } โ โ [ โ ] โ < โ > โ : โ ; โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ โ โ MAINT โ โ SPACE โ ALT โ BKSP โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
Complete F1-F24 function key set and system controls
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ CAPS โ F12 โ F7 โ F8 โ F9 โ PRINT โ โ F13 โ F14 โ F15 โ F16 โ F17 โ F18 โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ CTRL โ F11 โ F4 โ F5 โ F6 โ SCRLK โ โ F19 โ F20 โ F21 โ F22 โ F23 โ F24 โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ SHIFT โ F10 โ F1 โ F2 โ F3 โ BREAK โ โ INS โ DEL โ โ โ โ โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ CTRL โ ALT โ DEL โ โ โ โ โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
Arrow keys, page navigation, and virtual desktop switching
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ GUI โ โ โ END โ โ SCRN_L โ โ HOME โ PG_DN โ PG_UP โ END โ UP โ โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ CTRL โ HOME โ โ โ RIGHT โ SCRN_R โ โ LEFT โ DOWN โ UP โ RIGHT โ โ โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ SHIFT โ โ โ โ โ LEFT โ โ DOWN โ โ โ โ โ โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ CTRL โ ALT โ SHIFT โ โ SHIFT โ ALT โ CTRL โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
Dedicated arrow key clusters for gaming
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ โ โ โ UP โ โ โ โ โ โ UP โ โ โ โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ CTRL โ โ LEFT โ DOWN โ RIGHT โ โ โ โ LEFT โ DOWN โ RIGHT โ โ CTRL โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ QWERT โ โ โ โ โ โ โ โ โ โ โ โ QWERT โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ ESC โ SPACE โ ENTER โ โ ENTER โ SPACE โ ESC โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
Pure QWERTY for gaming (no home row mods)
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ `~ โ Q โ W โ E โ R โ T โ โ Y โ U โ I โ O โ P โ \ | โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ CTRL/TABโ A โ S โ D โ F โ G โ โ H โ J โ K โ L โ ;: โ '" โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ SHIFT โ Z โ X โ C โ V โ B โ โ N โ M โ ,< โ .> โ /? โ โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ ALT โ ESC โ SPACE โ โ ENTER โ DEL โ BKSP โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
System controls, Bluetooth profiles, and layer toggles
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ BT_CLR โ โ โ โ BT_3 โ BT_0 โ โ VOL+ โ โ โ โ โ BRGHT+ โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ T_EMPTY โ T_GAMES โ โ โ BT_4 โ BT_1 โ โ VOL- โ โ โ โ โ BRGHT- โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ T_COLEM โ โ โ โ โ BT_2 โ โ MUTE โ โ โ โ โ OUT_TOG โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ โ โ โ โ โ โ โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
Disabled layer (all keys inactive)
โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ โญโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโฎ
โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
โ โ โ โ โ โ โ โ โ โ โ โ โ โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค โโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
โ โ โ โ โ โ โ โ
โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ โฐโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโฏ
- DF + GH: Escape (works on Base, QWERTY, Colemak layers)
- JK: Enter (works on most layers)
- DV: Backslash
- KH: Forward slash
- JKL: Toggle between Empty and Games layers
- Hold-Tap (Standard): Balanced hold-tap with 280ms tapping term for most modifiers
- Hold-Tap (Strict): Tap-preferred hold-tap with 300ms tapping term for shift keys to reduce false positives
- Quick-Tap: 175ms quick-tap for rapid repeated taps
- Prior-Idle: 150-200ms requirement to prevent accidental holds during fast typing
The configuration uses two different hold-tap behaviors to optimize typing experience:
- Standard timing for Ctrl, Alt, GUI modifiers (280ms tapping term)
- Strict timing for Shift modifiers (300ms, tap-preferred) to prevent accidental "fi" instead of "I" issues
config/
โโโ corne.conf # Hardware configuration
โโโ corne.keymap # Main keymap definition
โโโ west.yml # ZMK project configuration
โโโ include/
โโโ behaviors.dtsi # Custom behavior definitions
โโโ combos.dtsi # Key combination definitions
โโโ macros.dtsi # Custom macro definitions
The firmware is built for:
- Left half:
nice_nano_v2+corne_left - Right half:
nice_nano_v2+corne_right
Builds are automated via GitHub Actions as defined in build.yaml.
- Enhanced Bluetooth transmission power (
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y) - USB keyboard support (
CONFIG_ZMK_USB=y) - USB boot protocol support for BIOS compatibility
- RGB underglow support
- OLED display support
- Fork this repository
- Customize the keymap in
config/corne.keymapto your preferences - Push changes to trigger GitHub Actions build
- Download the generated firmware files
- Flash the appropriate
.uf2files to each half of your keyboard
| Layer | Number | Purpose |
|---|---|---|
| BASE | 0 | Default QWERTY with home row mods |
| COLEMAK | 1 | Alternative typing layout |
| SYMBOL | 2 | Numbers and symbols |
| FUNCTION | 3 | F-keys and system functions |
| NAVIGATION | 4 | Arrow keys and page navigation |
| GAMES | 5 | Gaming-optimized layout |
| QWERTY | 6 | Pure QWERTY for gaming |
| MAINTENANCE | 7 | System controls and toggles |
| EMPTY | 8 | Disabled layer |
- Profile 0-4: Available for different devices
- Use maintenance layer to switch profiles
- Clear all profiles option available
Feel free to fork this configuration and adapt it to your needs. If you find improvements or fixes, pull requests are welcome!
This configuration is based on the ZMK firmware project and follows the same MIT license.