Skip to content

ZMK user config containing keymap for 28-36 key keyboards

License

Notifications You must be signed in to change notification settings

caksoylar/zmk-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zmk-config

Keymap

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:

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: 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 swapper
  • Win 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.

Keymap Representation

See my QMK userspace for equivalent keymap definitions for QMK, although note that they might not be up-to-date with latest QMK changes.

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 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.