This is where we turn layout dreams into reality.
I will show you how to put together all the files you need to get your custom layout on to your keyboard. Using GitHub Actions we can avoid the trouble of installing QMK
locally to compile our firmware. Lastly, we will cover how to flash your keyboard.
Your hands will thank you for the beautiful keyboard layout you created for them.
Create the necessary files
If you have no programming experience, I recommend using Via to set up your keyboard. If you know how to use git
and want a little extra control over your keymap, you should use QMK
directly. The rest of this guide will cover how to use QMK
directly to write custom macros.
Use QMK Configurator to create your layers and most functionality. Here is a good tutorial. Once you have a json
file with your basic layers, let's add all the macros that you might need. These macros will require additional setup, unfortunately.
The qmk_firmware
GitHub repo is a little unwieldy. I think there are two main ways of installing QMK and using it effectively.
- Using GitHub Actions. This is my preferred method since you can avoid installing
qmk
. - Using a git submodule. This requires the QMK CLI to be installed.
Lastly, I recommend you decrease the size of your firmware by following this guide.
Compile using GitHub Actions
This compilaton method lets you avoid installing qmk
on your local machine. You can see it at work in my qmk repo. The QMK docs cover setting up the repository, well. Unfortunately, there is barely any information on how to customize it properly. If you get stuck, I recommend asking in the QMK Discord. In July 2023 you had to do the following steps to get custom macros to work with GitHub Actions:
- Place
process_record_user
insource.c
. - Add
SRC += source.c
torules.mk
. - Define custom keycodes in
config.h
insideifndef __ASSEMBLER__
. - Enable any QMK features you want in
rules.mk
. - If you have a Litaris controller, add
-e CONVERT_TO=liatris
to thebuild.yml
compile command.
Flashing your keyboard
This depends on the type of controller you bought. If your controller uses uf2
files, you can avoid QMK Toolbox
or the QMK CLI
all together. Follow these steps for the flashing process.
If you have to use QMK Toolbox
or the command line to flash your keyboard, follow the official docs.
Your keyboard is good to go!