(This is not an officially supported Google product.)
This is my Quantum Mechanical Keyboard (QMK) keymap for the Dactyl Ergodox, ZSA Moonlander, and ZSA Voyager keyboards. Who knew a keyboard could do so much?
This repo uses the Apache License 2.0 except where otherwise indicated. See the LICENSE file for details.
Several features are developed as QMK community modules in getreuer/qmk-modules, a git submodule of this repo. The former pre-module code is under the features. Detailed documentation can be found in the links below. For developers, see also my post developing QMK features for general tips on writing userspace libraries and contributing to QMK.
-
Custom shift keys – customize what keycode is produced when shifted
-
Keycode String – format keycodes as human-readable strings
-
Mouse Turbo Click – macro that clicks the mouse rapidly
-
Orbital Mouse – a polar approach to mouse key control
-
PaletteFx – palette-based animated RGB matrix lighting effects
-
Select Word – macro for convenient word or line selection
-
Sentence Case – automatically capitalize the first letter of sentences
-
SOCD Cleaner – enhance WASD for fast inputs for gaming
The following were originally developed here and have since graduated to become QMK core features. It is recommended to use the QMK core implementations, but (perhaps for sake of customization or curiosity) you may continue to use these userspace versions:
-
Achordion – userspace predecessor of QMK's Chordal Hold
-
Autocorrection – userspace version of QMK's Autocorrect
-
Caps Word – userspace version of QMK's Caps Word
-
Layer Lock key – userspace version of QMK's Layer Lock
-
Repeat Key – userspace version of QMK's Repeat Key
Here is a visualization of my keymap. See getreuer.c for full details.
Base layer (Magic Sturdy with home row mods)
Symbol layer
Navigation layer
Numpad layer
Window management layer
Funky fun layer
Extras and mouse layer
This repo works as an External QMK Userspace and makes use of the Community Modules support added in QMK Firmware 0.28.0, released 2025-02-27. Instructions on how to use it in QMK:
-
Set up QMK or update your QMK set up to get the latest.
-
Clone this repo locally
git clone --recurse-submodules https://github.com/getreuer/qmk-keymap
-
Run the following shell command, replacing "
path/to/qmk-keymap
" with the relative path to your clone ofqmk-keymap
from the previous step:qmk config user.overlay_dir="$(realpath path/to/qmk-keymap)"
My keymap may then be compiled and flashed with
# Dactyl Ergodox
qmk flash -kb handwired/dactyl_promicro -km getreuer
# ZSA Moonlander
qmk flash -kb zsa/moonlander -km getreuer
# ZSA Voyager
qmk flash -kb zsa/voyager -km getreuer