Custom keymaps I have made for mechanical keyboards running QMK Firmware.
Lots of tinkering with keyboard layouts has resulted in what I learned taking up a fair share of content on my blog.
I wrote a post about getting started with creating a QMK keyboard layout. Although it is quite Ergodox-centric, I think there is still enough general QMK content in there to be of use if you use any other type of keyboard:
The creation of the GS_TIMESTAMP
custom keycode, which inserts a current
timestamp into a Google Sheets cell, ended up being far more involved that
I originally thought, so I wrote up a blog post about that:
Compilation and customisation of the Georgi layout, in particular its Gaming mode, was the subject of the following blog post:
Getting the Georgi to play Doom Typist was the subject of the following blog post:
In order to create a build environment, I followed the instructions on the Setting Up Your QMK Environment page of the QMK Documentation.
I use Mac OS, so the tools needed to compile the layout are listed in the macOS section, and are installed using Homebrew:
brew tap qmk/qmk
brew install qmk
qmk setup
git clone [email protected]:qmk/qmk_firmware.git
git clone [email protected]:paulfioravanti/qmk_keymaps.git
QMK's stenography functionality went through a significant refactor in this
commit, making some of the steno firmware overrides
in this repo incompatible with the current QMK master
branch.
Therefore, these customisations will currently only work on a version of QMK created before that refactor occurred. So, until those fixes are made, checkout this commit of QMK before copying over the keymaps:
cd qmk_firmware
git checkout 2239527871deef1253ebe885df167726a100f971
git switch -c pre-process-steno-refactor
cd ..
Hopefully, this section can be removed at some point.
Use rsync to merge this repository's keyboards
directory into the QMK
Firmware repository's keyboards
directory:
rsync --recursive qmk_keymaps/keyboards/ qmk_firmware/keyboards/
If you plan to use the stenography firmware overrides that allow you to:
- auto-repeat chords
- hold down common keys between chords
then merge over the contents in the quantum
directory as well:
rsync --recursive qmk_keymaps/quantum/ qmk_firmware/quantum/
Many thanks go to Joshua Grams for putting up the code for this in his steno-firmware repo!
Details about firmware compilation and setup are on the README
page for the
specific keymap layout.
QMK has its own tool, QMK Toolbox, for flashing firmware. If it seems a bit too technical for you, and you own an Ergodox EZ, you may have luck with other tools. See Ergodox EZ layout README file for details.
- QMK Keycodes - what keycodes are currently available to you
- QMK Config Options - Helps determine what can go in the
config.h
file - QMK Customizing Functionality - how to define new keycodes and process them