zmk-config icon indicating copy to clipboard operation
zmk-config copied to clipboard

ZMK user config containing keymap for 30-36 key keyboards

zmk-config

Keymap

This is a ZMK config repo for my 30-36 key split keyboards, arranged in 3 rows of 5 columns with 2 or 3 thumb keys on each side. The keymap is optimized to be usable with 30 keys, with dropped keys from inner index and pinky columns and two thumb keys each, like the Hummingbird layout. Currently these keyboards are:

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 by @jcmkk3.

OS-dependent shortcuts are present on the NAV layer, e.g. for Windows:

  • Win Close: AltF4
  • Tab Next: CtrlTab
  • Tab Prev: CtrlShiftTab
  • Tab Close: CtrlF4
  • Desk Next: CtrlGuiRight
  • Desk Prev: CtrlGuiLeft
  • Win Next: AltTab (hold Alt while layer active) using zmkfirmware/zmk#1366
  • Win Prev: AltShiftTab (hold Alt while layer active)

Below representation was generated with keymap-drawer -- check out the automatically generated layouts using the automated Github workflow for each keyboard in the keymap-drawer folder, which is always up to date with the config.

Keymap Representation

See my QMK userspace for equivalent keymap definitions for QMK.

LED indicators widget

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!

ZMK customizations

I use a custom ZMK branch referenced in west.yml which contains a few extras, namely mouse keys used in the MSE layer, swapper behavior and display improvements for the Corne-ish Zen. For a variant of my configuration tailored for stock ZMK, check out the stock branch.