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.