From 7fef5ca24047918e54ac5eac8b5b4f65f80d4f39 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Fri, 6 Jul 2018 17:12:46 +0200 Subject: Add documentation for TAPPING_FORCE_HOLD (#2957) (#3320) Also improve documentation for related settings. --- docs/feature_advanced_keycodes.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'docs/feature_advanced_keycodes.md') diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md index aeb7ce1bf..a4b681ec1 100644 --- a/docs/feature_advanced_keycodes.md +++ b/docs/feature_advanced_keycodes.md @@ -175,3 +175,31 @@ Example: (Tapping Term = 200ms) - SHFT_T(KC_A) Up With defaults, if above is typed within tapping term, this will emit `ax`. With permissive hold, if above is typed within tapping term, this will emit `X` (so, Shift+X). + +# Mod tap interrupt + +When a dual role key used for a modifier is quickly followed by another keys, it is interpreted as held even before the tapping term elapsed. This is a problem if a key is used for example inside a rolling combo because the second key will be pressed before the first key is released. + +For example, when trying to type the rolling combo "zx" and z being configured to send Ctrl when hold, z rapidly followed by x actually sends Ctrl-x. That's bad. + +You can disable this behavior by defining `IGNORE_MOD_TAP_INTERRUPT` in `config.h`. + +Note that this only concerns modifiers and not layer switching keys. + +# Hold after tap + +When the user holds a key after tap, this repeats the tapped key rather to hold a modifier key. This allows to use auto repeat for the tapped key. If you prefer to hold a modifier instead, define `TAPPING_FORCE_HOLD` in `config.h`. + +Example: + +- SHFT_T(KC_A) Down +- SHFT_T(KC_A) Up +- SHFT_T(KC_A) Down +- wait more than tapping term... +- SHFT_T(KC_A) Up + +With default settings, `a` will be sent on the first release, then `a` will be sent on the second press allowing the computer to trigger its auto repeat function. + +With `TAPPING_FORCE_HOLD`, the second press will be interpreted as a Shift, allowing to use it as a modifier shortly after having used it as a tap. + +!> `TAPPING_FORCE_HOLD` will break anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tapping Toggle). -- cgit v1.2.3-24-g4f1b