Today, I finished the first step of my Ergonomics Voyage: Making some modifications to my keyboard.

Key layout

The most important change, was activating home row mods. So I’ve made it so tapping

a s d f works as normal — but if I hold them, they act as

Ctrl Opt Shift Cmd .

And then I’ve mirrored it on the other side, to j k l ø .

Failed at software

I tried for literally 13 hours to make it work in software, through both KMonad and Karabiner-Elements. But the former wouldn’t compile, and the latter just wouldn’t accept any .jsons…

This would be preferable, as that makes it possible to have the same setup on the laptop keyboard — while now it’s only on my external keyboard.

Hardware was easy

However, creating the setup in QMK, was a breeze.

This isn’t meant as a guide, but here’s some of the code I used:

#define CTL_A LCTL_T(KC_A)
#define ALT_S LALT_T(KC_S)
#define SFT_D LSFT_T(KC_D)
#define GUI_F LGUI_T(KC_F)

CTL_A (etc.) is just the name I’ve given the keycode.

The T in the last bit is what makes it the hold-thing, so that last bit means:

Left control when held (but otherwise A)

I’ve done the same thing with my spacebar, to toggle a layer. So for instance, when I holde space i j k l becomes arrow keys.

Screenshot of the code of my firmware.

I’ve been struggeling with // prettier-ignore…

First impressions

It’s really hard to use the modifiers! Especially since I have the normal ones right there. I guess I have to be more strict if it’s to stick. And maybe if I get an ergonomic keyboard later, I will be forced to adopt it.

One negative thing, though, is that there’s a slight lag while typing. It doesn’t have a functional change — it’s just that it staggers a bit when I look at the text I’m typing. This is because it’s waiting a little bit to see if I’m tapping or holding the buttons. I’ve tried to turn down the wait time, but it’s still there.

I’ll probably get used to it — but it’s a bit annoying, and I’m kind of snobbish when it comes to stuff like this…. 1 But I like the feeling of using them!

A little hardware tweak

My keyboards use Stabies stabilisers, and I’ve actually had some trouble with them because they tend to get stuck. Even though I have quite heavy springs in my switches and I tried it with zero lube, the Enter key would still get stuck. So for over a year, my Enter key has sounded horrible, because I had to loosen the stabiliser screws. So it was rattly and pingy.

Today I finally got it switched out for a Durock stabiliser — and I only had to desolder 12 switches!


  1. I’m currently trying to see if Zed is ready for me to more from Nova to! Just because it’s so blazing fast. ↩︎