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 26-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:

rommana rufous grumpy zen
Rommana (30 keys) Rufous (30 keys) Modified Grumpy (28 keys) Corne-ish Zen (36 keys)

A few principles used in the design of the keymap are:

  • Reduced use of right thumb, especially for repetitive actions
    • Overuse can lead to issues, combined with smartphone and pointing device use
  • Frequently used combos are all horizontal (pressed using multiple fingers within the same row) and avoid pinkies
  • All (reasonable) modifier + key combinations are accessible
  • Symbols don't require shift outside the base layer
  • Some affordances are made for left-hand only use
    • Common shortcuts and desktop operations on the NAV layer
    • Mouse layer can be used for mouse clicks, to complement movement/scrolling with a pointing device on right hand

The default alpha layer is a modification of Colemak-DH and an alternative is the Bird layout.

It uses three non-base layers activated through two thumb keys, along with combos which are used heavily for symbols and infrequent letters. The keymap utilizes 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.

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

Shortcuts on the NAV layer are OS-dependent, and are currently defined for Windows/Linux as the following:

  • Win Close: AltF4
  • Tab →: CtrlTab
  • Tab ←: CtrlShiftTab
  • Tab Close: CtrlF4
  • Win Next: AltTab (hold Alt while layer active) using swapper
  • Win Prev: AltShiftTab (hold Alt while layer active)

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

While the main branch of this repo uses upstream ZMK main, in the corneish-zen branch I use a custom ZMK branch referenced in west.yml which contains display improvements for the Corne-ish Zen.

My keymap also uses a swapper key for single button window switching, defined using the smart toggle behavior module.

About

ZMK user config containing keymap for 28-36 key keyboards

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages