diff options
author | Nicolas Schodet <nico@ni.fr.eu.org> | 2018-07-06 17:12:46 +0200 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-07-06 08:12:46 -0700 |
commit | 7fef5ca24047918e54ac5eac8b5b4f65f80d4f39 (patch) | |
tree | 207d068760b7df9e309357460be00fb06be510bb /docs/feature_advanced_keycodes.md | |
parent | 8906e62c1f22a731616e6bcee2d9d9c334fc34d5 (diff) | |
download | qmk_firmware-7fef5ca24047918e54ac5eac8b5b4f65f80d4f39.tar.gz qmk_firmware-7fef5ca24047918e54ac5eac8b5b4f65f80d4f39.zip |
Add documentation for TAPPING_FORCE_HOLD (#2957) (#3320)
Also improve documentation for related settings.
Diffstat (limited to 'docs/feature_advanced_keycodes.md')
-rw-r--r-- | docs/feature_advanced_keycodes.md | 28 |
1 files changed, 28 insertions, 0 deletions
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) | |||
175 | - SHFT_T(KC_A) Up | 175 | - SHFT_T(KC_A) Up |
176 | 176 | ||
177 | 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). | 177 | 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). |
178 | |||
179 | # Mod tap interrupt | ||
180 | |||
181 | 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. | ||
182 | |||
183 | 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. | ||
184 | |||
185 | You can disable this behavior by defining `IGNORE_MOD_TAP_INTERRUPT` in `config.h`. | ||
186 | |||
187 | Note that this only concerns modifiers and not layer switching keys. | ||
188 | |||
189 | # Hold after tap | ||
190 | |||
191 | 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`. | ||
192 | |||
193 | Example: | ||
194 | |||
195 | - SHFT_T(KC_A) Down | ||
196 | - SHFT_T(KC_A) Up | ||
197 | - SHFT_T(KC_A) Down | ||
198 | - wait more than tapping term... | ||
199 | - SHFT_T(KC_A) Up | ||
200 | |||
201 | 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. | ||
202 | |||
203 | 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. | ||
204 | |||
205 | !> `TAPPING_FORCE_HOLD` will break anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tapping Toggle). | ||