QMK keyboard firmware

Topics: Mechanical keyboard

QMK is configurable, open-source keyboard firmware.

Subtopics

Building on Fedora Silverblue

Since I’m using Bluefin, I can’t easily install the whole QMK toolchain. That’s why I’m using the Docker workflow.

Resolving timing issues with mod-tap

MrLinuxFish on Discord:

 // Fix problems with fast typing and homerow mods
#define TAPPING_TERM 125
#define PERMISSIVE_HOLD_PER_KEY
#define IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_FORCE_HOLD

Turning off permissive hold for the Home Row Mods fixes a lot of issues while still allowing thumb mods to work well.

// Disabling permissive hold for home row mods.
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { // {{{
    switch (keycode) {
        case SHFT_T:
        case SHFT_N:
        case SFT_ENT:
        case CTRL_S:
        case CTRL_E:
        case ALT_R:
        case ALT_I:
        case AGR_X:
        case AGR_DOT:
        case GUI_A:
        case GUI_O:
            // This actually *disables* the permissive hold for these keys.
            // See issue https://github.com/qmk/qmk_firmware/issues/8999
            return true;
        default:
            return false;
    }
}

You can also do tapping term per key to reduce mis-presses of mods/keys.

Bookmarks