This fork contains a fix for dropped characters when key rolling and the edition of RETRO_TAPPING_TIMEOUT.
It has exclusively been tested with the setting RETRO_TAPPING enabled and
with all modifier keys being invoked by dual funtion keys (the layout below).
No testing has been done on RETRO_TAPPING_PER_KEY, AUTO_SHIFT_ENABLE, or RETRO_SHIFT.
Please see the other branches in the repository for the isolated modifications.
Fix the condition found with RETRO_TAPPING enabled when key rolling. The dual function keys's retro tap keycode is not fired when a different key has been released between the dual function keys's down and up events.
Any modifiers held during the key down event of a dual function key will be applied if/when the retro tap keycode is sent.
With RETRO_TAPPING enabled, holding and releasing a dual function key without pressing another key will result in the key's tap keycode being sent even if outside the tapping term. With RETRO_TAPPING_TIMEOUT enabled as well, holding a dual function key for longer than the specified timeout duration will result in no keycode being sent when the key is released.
This setting can be enabled in 'keyboards/<>/keymaps/config.h' with RETRO_TAPPING and takes an integer that is the timeout duration in milliseconds.
#define RETRO_TAPPING_TIMEOUT 500
I use a tapping term of 180ms on my bottom-row-mods and 150ms on the thumb keys. This will likely work for RETRO_TAPPING_PER_KEY.
This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.
The docs are powered by Docsify and hosted on GitHub. They are also viewable offline; see Previewing the Documentation for more details.
You can request changes by making a fork and opening a pull request, or by clicking the "Edit this page" link at the bottom of any page.
The project also includes community support for lots of other keyboards.
QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.
qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.