4. Customizing Keyboard Layout for Linux with QMK (Version 2022-01-10)
Last updated
Last updated
4.1 Instructions
Text in block quotes refers to the terminal output.
For reference, see the .
4.2 Install the QMK CLI tool if you have not used it before
4.3 Test that the QMK CLI tool works by compiling a keymapping. Here I use the clueboard/66/rev3 keymap
You should see a message similar to below:
Linking: .build/clueboard_66_rev3_default.elf [OK]
Creating load file for flashing: .build/clueboard_66_rev3_default.hex [OK]
Copying clueboard_66_rev3_default.hex to qmk_firmware folder > [OK]
Checking file size of clueboard_66_rev3_default.hex [OK]
* The firmware size is fine - 26356/28672 (2316 bytes free)
4.4 Create a custom keymap
You'll then be prompted to give a name to the keymap. Here I give it the name keyboard_alpaca
.
4.5 Edit the keymap.c file with your preferred editor.
While editing your keymap.c, you may wish to look at the following:
Save your keymap.c after you are finished editing.
4.6 Flash the firmware
Before you flash the firmware, ensure you have:
Then flash the firmware:
You should see:
Detecting USB port, reset your controller now...
When you see "Detecting USB port, reset your controller now..." in the terminal, click the keyboard reset button twice, as seen in Figure 4.2.
If it flashes correctly, you should see this message:
avrdude: 18874 bytes of flash verified
avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)
avrdude done. Thank you.
4.7 Repeat section 4.6 with the other piece of the keyboard
4.8 Before using the keyboard
Make sure no keyboard is connected to your computer before attaching the RJ9 cord to each piece of the keyboard. Afterwards, your keyboard is ready to go. Simply connect the USB cord from your computer to the left keyboard.
Layers are similar to a Fn or FnLock key that is seen on some keyboards. For reference, see the on the QMK website.
If we look at our current keymap.c, we will see that the keycode furthest to the top left is KC_ESC
(assuming you have been following along this section). We want to replace KC_ESC
with the keymap for =
, so we go to the to check.