How to create your own keyboard configuration with QMK

Table of contents

Why do you need your own configuration?

Assuming you already have a custom mechanical keyboard, you might not completely like its layout or you are used to some keys being in different positions. Maybe you just want to tinker and find out the best fitting configuration for yourself.

You want to completely configure the key configuration to your needs, and with QMK it’s very easy to do so.

What is QMK?

The goal of the QMK software project is to develop a completely customizable, powerful, and enjoyable firmware experience for any project – keyboard or otherwise – and to provide helpful, encouraging, and kind support and feedback for people with any software development experience.

qmk.fm

QMK (Quantum Mechanical Keyboard) is an open-source tool to develop, maintain and configure input devices. With QMK, we can create our own keyboard firmware.

The easiest way to get your own key configuration onto your keyboard is by using the online configurator to make your firmware and then flash it to your keyboard with the toolbox.

How to use the online configurator

QMK Configurator

QMK Configurator

First, you want to find your keyboard in the list at the top. In my case it’s the «dztech/dz65rgb/v2». You can check if you have any layout options in the dropdown right below it, if there’s only one layout, it will automatically be selected. In the third field you can enter any name for your configuration if you want to save and use it again later.

In the middle area, you see the Layer column on the left, and the keymap on the right. You can click on a key and drag and drop it to another position or replace it with a key from the keycodes at the bottom of the page. In the different tabs (ANSI, ISO/JIS, Quantum, Keyboard Settings, App, Media and Mouse) you can find any possible key that you can configure.

If you do not know what a key does, you can hover over the key and read its function in the appearing description at the bottom of the screen:

Showing the description for a key.

With this little tool you can now put together your optimal key configuration. If you just tinker a bit, it is very self-explanatory.

If you still struggle to get it done, this YouTube tutorial goes a bit more in depth and is pretty good.

When you are done with the configuration, you can save the configuration as a .json-file to your computer to reuse it later or to make some edits (next to save, you can also import .json-files).

Then you can hit the «Compile»-button in the top right corner. After waiting a few moments, it should be done compiling and then you can hit «Firmware» to download the finished firmware to your computer. Now you just need to flash it onto your keyboard.

How to flash firmware with QMK Toolbox

Now that you have your firmware finished, you need to load it onto your keyboard. This is done with QMK Toolbox. You can just download qmk_toolbox.exe from their Github. If you get any issues when starting the program, try to run it as an administrator (right click on the file and then select «Run as administrator»).

When you start QMK Toolbox, you will see the window pictured in the screenshot below. At the top, in «Local File», select the firmware you just created and downloaded with the online configurator (it’s a .hex file).

Next, you need to get your keyboard into reset-mode. How to do this depends on your keyboard, you might need to check how to do it in the documentation of the manufacturer.
In my case, I disconnect it, press and hold ESC, and then connect the USB-C cable again.

If your keyboard was successfully connected and it’s in reset mode, you should get the yellow text like in the picture below. Also, the MCU (microcontroller) in the top right corner should have automatically switched to the correct one that you are using, if not, you also need to look into the documentation to see which microcontroller is used in your keyboard.

The keyboard is connected and in reset-mode.

Now you can hit «Flash» and the firmware will be loaded onto your keyboard. If it was successful, it will look more or less like this:

The firmware is successfully flashed onto the keyboard.

Now you just need to unplug and replug your keyboard and test out your new key configuration! 🙂

My configuration: 65% ANSI for Europeans

I made my own configuration for my keyboard, which has the 65% ANSI layout.

When I switched from the ISO layout, the main issue was missing umlauts (ä, ö, ü) that I need when writing in German. I added these umlauts, some more convenient features and rearranged some keys to my liking. I use two layers and switch between them with the FN key (between right-Alt and right-Control).

Specialties of this configuration are:

  • Umlauts (ä, ö, ü) with FN+[a, o, u]
  • Replaced caps lock with F13, caps lock moved to 2nd layer
  • RGB controls, media controls on arrow keys, F14-F19 all on 2nd layer
  • Access to special characters used by Europeans (with rightAlt/Alt Gr)
    • Note that US-International keyboard layout must be set on the OS

You can see all key positions in these screenshots. In the last image are the special characters that are accessable with rightAlt/Alt Gr.

Layer 0 (default)

Layer 1

The second layer, accessible by pressing FN (in the top image it’s «MO 1»)

US-International keys with rightAlt/Alt Gr

European characters that might be used (normally in ISO layouts)

Leave a Reply