# QMK keyboard firmware
Topics: [[Mechanical keyboard]]
## 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](https://docs.qmk.fm/getting_started_docker).
## Resolving timing issues with mod-tap
MrLinuxFish on [Discord](https://discordapp.com/channels/574598631399751680/663573863480950808/740989368784650342):
```c
// 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.
```c
// 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
- [Corne keymap with OLED and extensive tapping logic](https://gist.github.com/johnm/e3c129b20bbcae97601e547a7dd9fa0a)
- [QMK macro examples](https://getreuer.info/posts/keyboards/macros)
## Related topics
- [[Home Row Mods]]