QMK Firmware
I use QMK on my keyboard (KBD75 rev2). I’have done some basic customizations to keymap. I use Colemak-DH layout (check image below), but on system level (because I use also Russian ЙЦУКЕН layout, so it’s depends on qwerty layout).
Colemak-DH ANSI
Key codes: qmk_firmware/docs/keycodes.md
Flash firmware steps:
-
Go to directory with QMK firmware
cd qmk_firmware
-
Prepare environment, I have configured NixOS module: qmk.nix.
-
Run qmk setup, in most situations you will answer
y
to all questionsqmk setup
-
Test Your Build Environment (firmware can be compiled), kbdfans/kbd75/rev2 is my keyboard.
qmk compile -kb kbdfans/kbd75/rev2 -km default
-
Configure keyboard
qmk config user.keyboard=kbdfans/kbd75/rev2
-
Create keymap and set it as default
qmk new-keymap -km inomoz
qmk config user.keymap=inomoz
Now you have own keymap, you can edit it in
keyboards/kbdfans/kbd75/keymaps/inomoz/keymap.c
. My layout is
here.
-
Compile and flash Firmware
qmk compile -kb kbdfans/kbd75/rev2 -km inomoz
it’s equivalent toqmk compile
if keyboard and keymap are set in config. -
Flash QMK Firmware
qmk flash -kb kbdfans/kbd75/rev2 -km inomoz
it’s equivalent to ==qmk flash
== if keyboard and keymap are set in config.
When you flash QMK Keyboard, put it into DFU
(Bootloader) Mode, In my case I
need to hold ==S-ESC
== keybinding and plug USB cable.
My keymap variant
I have generated PDF file with mine keymap, here is QMK keymap file. To generate it I followed these steps:
- Go to directory with QMK firmware
cd <path_to_dir>/QMK
- Generate keymap.json file
qmk c2json --no-cpp keymap.c >keymap.json # without --no-cpp it might not work
- Go to QMK Configurator, upload here
keymap.json
and print it to PDF ( icon and icon).
My layers and modifiers
TODO: not actual
Hold SYM
to activate the symbols layer.
Hold NUM
to activate the navigation layer
The home row modifiers are oneshot
so that it’s possible to modify the keys on
the base layer, where there are no dedicated modifiers.
Sometimes you need to use qwerty layout (games for example), I created special
layer in QMK for that, which activate qwerty layout over the Colemak-DH layout
when I press special QWE
default layer switch button (toggle logic).
External links
- qmk_firmware/users/callum
- QMK Firmware - An open source firmware for AVR and ARM based keyboards
- QMK Configurator
- QMK JSON converter
- Inom-Turdikulov/qmk_firmware: Open-source keyboard firmware for Atmel AVR and Arm USB families
- QMK: Mouse Turbo Click
- My current keyboard layout - Eli Rodríguez Pérez — Personal blog
- QMK Basics – Thomas Baart