This is a ZMK config repo for my ergonomic keyboards. The keymap is optimized to be usable with 28-30 keys, with dropped keys from inner index and pinky columns and one or two thumb keys each, like the Hummingbird layout. Currently these keyboards are:
- A hand-wired Rommana (30 keys)
- A Rufous (30 keys)
- A hand-wired, modified Grumpy (28 keys)
- Corne-ish Zen (36 keys)
It mainly uses three non-base layers activated through two thumb keys, along with combos. It has Ctrl/Shift thumb hold-taps along with home row mods, which are also available on the left side of NAV
layer.
FUN
layer is implemented as a tri-layer, i.e. it is active when both NAV
and SYM
are active.
The default alpha layer is a modification of Colemak-DH and an alternative is the Bird layout.
OS-dependent shortcuts are present on the NAV
and FUN
layers, e.g. for Windows:
Win Close
: AltF4Tab Next
: CtrlTabTab Prev
: CtrlShiftTabTab Close
: CtrlF4Desk Next
: CtrlGuiRightDesk Prev
: CtrlGuiLeftWin Next
: AltTab (hold Alt while layer active) using swapperWin Prev
: AltShiftTab (hold Alt while layer active)
Below representation was generated with keymap-drawer
using the automated Github workflow
-- check out the drawings for all keyboards in the keymap-drawer
folder.
See my QMK userspace for equivalent keymap definitions for QMK, although note that they might not be up-to-date with latest QMK changes.
Some keyboards in this repo include an indicator widget utilizing an RGB LED, like the user LEDs on a Xiao BLE.
This widget is a ZMK module housed in zmk-rgbled-widget
-- check out the repo and the instructions to use it with your keyboards!
I use a custom ZMK branch referenced in west.yml which contains a few extras, namely mouse keys used in the MSE
layer and display improvements for the Corne-ish Zen.
For a variant of my configuration tailored for stock ZMK, check out the stock
branch.
It also uses a swapper key for single button window switching, defined using the tri-state behavior module.