QMK - Compile and Flash with modifications

QMK and VIA, are awesome pieces of firmware for your keyboard.
They enable crazy shortcuts, programmable keys, macros and much more.

Of course, this software is for specific keyboards only.
If the keyboard was not designed with QMK in mind, there is likely no way to flash it.

One could of course always reverse engineer the pcb and create a custom QMK profile.

Is my Keyboard supported?

Visit qmk_firmware/keyboards and search for the manufacturer of your board. There are a LOT of supported keyboards.

Find out if the manufacturer has added qmk support by finding your specific model in the manufacturer folder.

Modifying QMK to your needs

First, we want to clone the qmk repository:

git clone https://github.com/qmk/qmk_firmware
cd qmk_firmware

You will find the default keymap (most likely the keymap the keyboard came with ootb) in your model’s keymaps folder.
keyboards/<manufacturer>/<model>/keymaps/default

Depending on the populatiry of your keyboard, there might be a lot of community made keymaps available.

My Massdrop CTRL has these keymaps:

$ ls keymaps/
default    endgame  mac    matthewrobo responsive_pattern via     xulkal
default_md foxx1337 mac_md R167        r-pufky            xanimos

It is also a good idea to check out your keyboards documentation:

$ ls
config.h      config_led.h  ctrl.h            info.json  readme.md
config_led.c  ctrl.c        DOCUMENTATION.md  keymaps    rules.mk

Specifically the readme.md and DOCUMENTATION.md.

Checkout my modified keymap here.

Flashing QMK

After modifying the keymap to your liking, it’s time to upload it.

Check the QMK Docs for more info.
For (Mass-)Drop devices, MDLoader is needed to upload builds.

roman's lab

Technology and Engineering Blog


Layers all the way down

By Roman Hayn
25 May 2023

[~] ls
-r-x Keyboard
-r-x QMK