(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 userspace feature libraries for QMK are developed in this repo. Code is under the features directory and 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.
-
Achordion – customize the tap-hold decision
-
Custom shift keys – they're surprisingly tricky to get right; here is my approach
-
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
-
Sentence Case – automatically capitalize the first letter of sentences
-
SOCD Cleaner – enhance WASD for fast inputs for gaming
-
Word selection – macro for convenient word or line selection
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:
-
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 the Dactyl keymap.c, Moonlander keymap.c, or Voyager keymap.c and getreuer.c for full details.
Base layer (Magic Sturdy with home row mods)
Symbol layer
Numpad layer
Window management layer
Funky fun layer
This repo works as an External QMK Userspace. Instructions on how to use it in QMK:
-
Clone this repo locally
git clone 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