summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/mappings/info_config.hjson4
-rw-r--r--docs/config_options.md13
-rw-r--r--docs/tap_hold.md31
-rw-r--r--keyboards/25keys/zinc/rev1/config.h2
-rw-r--r--keyboards/25keys/zinc/reva/config.h2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h2
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h2
-rw-r--r--keyboards/adm42/rev4/keymaps/default/config.h2
-rw-r--r--keyboards/adm42/rev4/keymaps/default/keymap.c6
-rw-r--r--keyboards/arabica37/keymaps/default/config.h2
-rw-r--r--keyboards/atreus/keymaps/kejadlen/config.h2
-rw-r--r--keyboards/b_sides/rev41lp/keymaps/namnlos/config.h2
-rw-r--r--keyboards/basekeys/slice/keymaps/default/config.h2
-rw-r--r--keyboards/basekeys/slice/keymaps/default_split_left_space/config.h2
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/2moons/config.h2
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/default_all/config.h2
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h2
-rw-r--r--keyboards/basekeys/slice/rev1/keymaps/via/config.h2
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h2
-rw-r--r--keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h2
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h2
-rw-r--r--keyboards/bastardkb/scylla/keymaps/cykedev/config.h2
-rw-r--r--keyboards/bastardkb/scylla/keymaps/xyverz/config.h2
-rw-r--r--keyboards/bastardkb/tbk/keymaps/xyverz/config.h2
-rw-r--r--keyboards/buzzard/keymaps/crehmann/config.h2
-rw-r--r--keyboards/buzzard/keymaps/default/config.h2
-rw-r--r--keyboards/clickety_split/leeloo/keymaps/default/config.h2
-rw-r--r--keyboards/crkbd/keymaps/ajarov/config.h2
-rw-r--r--keyboards/crkbd/keymaps/antosha417/config.h2
-rw-r--r--keyboards/crkbd/keymaps/ardakilic/config.h2
-rw-r--r--keyboards/crkbd/keymaps/armand1m/config.h2
-rw-r--r--keyboards/crkbd/keymaps/benrestech/config.h2
-rw-r--r--keyboards/crkbd/keymaps/bermeo/config.h2
-rw-r--r--keyboards/crkbd/keymaps/blipson/config.h2
-rw-r--r--keyboards/crkbd/keymaps/colemad/config.h2
-rw-r--r--keyboards/crkbd/keymaps/crkdves/config.h2
-rw-r--r--keyboards/crkbd/keymaps/crkqwes/config.h2
-rw-r--r--keyboards/crkbd/keymaps/default/config.h2
-rw-r--r--keyboards/crkbd/keymaps/devdev/config.h2
-rw-r--r--keyboards/crkbd/keymaps/edvorakjp/config.h2
-rw-r--r--keyboards/crkbd/keymaps/hvp/config.h2
-rw-r--r--keyboards/crkbd/keymaps/jarred/config.h2
-rw-r--r--keyboards/crkbd/keymaps/julian_turner/config.h2
-rw-r--r--keyboards/crkbd/keymaps/kidbrazil/config.h2
-rw-r--r--keyboards/crkbd/keymaps/madhatter/config.h2
-rw-r--r--keyboards/crkbd/keymaps/nimishgautam/config.h2
-rw-r--r--keyboards/crkbd/keymaps/ninjonas/config.h2
-rw-r--r--keyboards/crkbd/keymaps/oled_sample/config.h2
-rw-r--r--keyboards/crkbd/keymaps/ollyhayes/config.h2
-rw-r--r--keyboards/crkbd/keymaps/oo/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rarick/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rjhilgefort/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rs/config.h2
-rw-r--r--keyboards/crkbd/keymaps/sharkby7e/config.h2
-rw-r--r--keyboards/crkbd/keymaps/snowe/config.h2
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/config.h2
-rwxr-xr-xkeyboards/crkbd/keymaps/thumb_ctrl/config.h2
-rw-r--r--keyboards/crkbd/keymaps/toinux/config.h2
-rw-r--r--keyboards/crkbd/keymaps/vayashiko/config.h2
-rw-r--r--keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h2
-rw-r--r--keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h2
-rw-r--r--keyboards/crkbd/keymaps/vxid/config.h2
-rw-r--r--keyboards/crkbd/keymaps/xyverz/config.h2
-rw-r--r--keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/xunz/config.h2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h2
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h2
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/config.h4
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/keymap.c37
-rw-r--r--keyboards/ferris/keymaps/bruun-baer/config.h2
-rw-r--r--keyboards/ferris/keymaps/default/config.h2
-rw-r--r--keyboards/ferris/keymaps/pierrec83/config.h2
-rw-r--r--keyboards/gl516/a52gl/keymaps/salicylic/config.h2
-rw-r--r--keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h2
-rw-r--r--keyboards/gl516/n51gl/keymaps/salicylic/config.h2
-rw-r--r--keyboards/gl516/n51gl/keymaps/via/config.h2
-rw-r--r--keyboards/handwired/aranck/keymaps/turkishish/config.h2
-rw-r--r--keyboards/handwired/brain/config.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h2
-rw-r--r--keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c18
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h2
-rw-r--r--keyboards/handwired/heisenberg/keymaps/turkishish/config.h2
-rw-r--r--keyboards/helix/pico/config.h2
-rw-r--r--keyboards/helix/rev2/config.h2
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/config.h20
-rw-r--r--keyboards/hidtech/bastyl/keymaps/xyverz/config.h2
-rw-r--r--keyboards/keebio/iris/keymaps/jhelvy/config.h2
-rw-r--r--keyboards/keebio/iris/keymaps/osiris/config.h2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h2
-rw-r--r--keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h2
-rw-r--r--keyboards/kprepublic/jj40/keymaps/stevexyz/config.h2
-rw-r--r--keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h2
-rw-r--r--keyboards/lily58/keymaps/chuan/config.h2
-rw-r--r--keyboards/lily58/keymaps/datadavd/config.h2
-rw-r--r--keyboards/lily58/keymaps/default/config.h2
-rw-r--r--keyboards/lily58/keymaps/domnantas/config.h2
-rw-r--r--keyboards/lily58/keymaps/drasbeck/config.h2
-rw-r--r--keyboards/lily58/keymaps/gaston/config.h2
-rw-r--r--keyboards/lily58/keymaps/gshmu/config.h2
-rw-r--r--keyboards/lily58/keymaps/jhelvy/config.h2
-rw-r--r--keyboards/lily58/keymaps/mikefightsbears/config.h2
-rw-r--r--keyboards/lily58/keymaps/muppetjones/config.h2
-rw-r--r--keyboards/lily58/keymaps/narze/config.h2
-rw-r--r--keyboards/lily58/keymaps/ninjonas/config.h2
-rw-r--r--keyboards/lily58/keymaps/pttbx/config.h2
-rw-r--r--keyboards/lily58/keymaps/via/config.h2
-rw-r--r--keyboards/lily58/keymaps/yshrsmz/config.h2
-rw-r--r--keyboards/lily58/keymaps/yuchi/config.h2
-rw-r--r--keyboards/malevolti/lyra/keymaps/default/config.h2
-rw-r--r--keyboards/malevolti/lyra/keymaps/via/config.h2
-rw-r--r--keyboards/malevolti/superlyra/keymaps/default/config.h2
-rw-r--r--keyboards/malevolti/superlyra/keymaps/via/config.h2
-rw-r--r--keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h4
-rw-r--r--keyboards/massdrop/alt/keymaps/b_/config.h2
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/config.h2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/config.h2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/config.h2
-rw-r--r--keyboards/obosob/steal_this_keyboard/keymaps/default/config.h2
-rw-r--r--keyboards/palette1202/keymaps/default/config.h2
-rw-r--r--keyboards/pierce/keymaps/durken1/config.h2
-rw-r--r--keyboards/pinky/3/keymaps/default/config.h2
-rw-r--r--keyboards/pinky/3/keymaps/ninjonas/config.h2
-rw-r--r--keyboards/pinky/3/keymaps/via/config.h2
-rw-r--r--keyboards/pinky/4/keymaps/default/config.h2
-rw-r--r--keyboards/pinky/4/keymaps/via/config.h2
-rw-r--r--keyboards/planck/keymaps/adamtabrams/config.h4
-rw-r--r--keyboards/planck/keymaps/adamtabrams/keymap.c6
-rw-r--r--keyboards/planck/keymaps/jweickm/config.h2
-rw-r--r--keyboards/planck/keymaps/jweickm/keymap.c24
-rw-r--r--keyboards/planck/keymaps/muppetjones/config.h2
-rw-r--r--keyboards/planck/keymaps/rootiest/config.h2
-rw-r--r--keyboards/planck/keymaps/rootiest/keymap.c6
-rw-r--r--keyboards/planck/keymaps/tylerwince/config.h2
-rw-r--r--keyboards/projectcain/relic/keymaps/default/config.h2
-rw-r--r--keyboards/projectcain/vault35/keymaps/default/config.h2
-rw-r--r--keyboards/projectcain/vault45/keymaps/default/config.h2
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/config.h2
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/7splus/keymaps/via/config.h2
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keymaps/jis/config.h2
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keymaps/via/config.h2
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keymaps/via/config.h2
-rw-r--r--keyboards/salicylic_acid3/getta25/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/getta25/keymaps/oled/config.h2
-rw-r--r--keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/nafuda/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/scheiklp/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/via/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/333fred/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked60/keymaps/via/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keymaps/via/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keymaps/via/config.h2
-rw-r--r--keyboards/salicylic_acid3/setta21/keymaps/default/config.h2
-rw-r--r--keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h2
-rw-r--r--keyboards/sofle/keymaps/devdev/config.h2
-rw-r--r--keyboards/sofle/keymaps/rgb_default/config.h2
-rw-r--r--keyboards/sparrow62/keymaps/74th/config.h2
-rw-r--r--keyboards/sparrow62/keymaps/default/config.h2
-rw-r--r--keyboards/sparrow62/keymaps/via/config.h2
-rw-r--r--keyboards/splitkb/kyria/keymaps/jhelvy/config.h2
-rw-r--r--keyboards/splitkb/kyria/keymaps/muppetjones/config.h2
-rw-r--r--keyboards/splitkb/kyria/keymaps/ohlin/config.h2
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/config.h2
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/config.h2
-rw-r--r--keyboards/splitkb/kyria/keymaps/zigotica/config.h2
-rw-r--r--keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/config.h2
-rw-r--r--keyboards/yosino58/keymaps/default/config.h2
-rw-r--r--keyboards/yosino58/keymaps/sakura/config.h2
-rw-r--r--keyboards/yushakobo/navpad/10/config.h2
-rw-r--r--keyboards/yushakobo/navpad/10_helix_r/config.h2
-rw-r--r--keyboards/z34/keymaps/zigotica/config.h2
-rw-r--r--layouts/community/split_3x6_3/drashna/config.h2
-rw-r--r--quantum/action_tapping.c19
-rw-r--r--quantum/action_tapping.h13
-rw-r--r--tests/tap_hold_configurations/quick_tap/config.h (renamed from tests/tap_hold_configurations/tapping_force_hold/config.h)2
-rw-r--r--tests/tap_hold_configurations/quick_tap/test.mk (renamed from tests/tap_hold_configurations/tapping_force_hold/test.mk)0
-rw-r--r--tests/tap_hold_configurations/quick_tap/test_action_layer.cpp (renamed from tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp)2
-rw-r--r--tests/tap_hold_configurations/quick_tap/test_quick_tap.cpp (renamed from tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp)180
-rw-r--r--users/bcat/config.h2
-rw-r--r--users/cwebster2/config.h2
-rw-r--r--users/drashna/config.h2
-rw-r--r--users/drashna/keyrecords/tapping.c8
-rw-r--r--users/dshields/config.h2
-rw-r--r--users/dshields/dshields.c7
-rw-r--r--users/kuchosauronad0/config.h2
-rw-r--r--users/manna-harbour_miryoku/config.h3
-rw-r--r--users/muppetjones/config.h2
-rw-r--r--users/ridingqwerty/config.h2
-rw-r--r--users/ridingqwerty/ridingqwerty.c14
-rw-r--r--users/uqs/config.h2
-rw-r--r--users/vosechu/config.h2
-rw-r--r--users/xulkal/config.h5
-rw-r--r--users/yet-another-developer/config.h2
226 files changed, 458 insertions, 376 deletions
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
index 414439d6e7..479b1579da 100644
--- a/data/mappings/info_config.hjson
+++ b/data/mappings/info_config.hjson
@@ -111,8 +111,6 @@
111 "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, 111 "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
112 "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"}, 112 "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
113 "TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"}, 113 "TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
114 "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
115 "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
116 "TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"}, 114 "TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
117 "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"}, 115 "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
118 "TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"}, 116 "TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
@@ -129,6 +127,8 @@
129 "UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true}, 127 "UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
130 "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "bool", "invalid": true}, 128 "RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "bool", "invalid": true},
131 "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true}, 129 "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
130 "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool", "deprecated": true},
131 "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool", "deprecated": true},
132 132
133 // USB params, need to mark as failure when specified in config.h, rather than deprecated 133 // USB params, need to mark as failure when specified in config.h, rather than deprecated
134 "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"}, 134 "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"},
diff --git a/docs/config_options.md b/docs/config_options.md
index 6b1f83214c..edaa739201 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -171,12 +171,13 @@ If you define these options you will enable the associated feature, which may in
171 * See [Ignore Mod Tap Interrupt](tap_hold.md#ignore-mod-tap-interrupt) for details 171 * See [Ignore Mod Tap Interrupt](tap_hold.md#ignore-mod-tap-interrupt) for details
172* `#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY` 172* `#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY`
173 * enables handling for per key `IGNORE_MOD_TAP_INTERRUPT` settings 173 * enables handling for per key `IGNORE_MOD_TAP_INTERRUPT` settings
174* `#define TAPPING_FORCE_HOLD` 174* `#define QUICK_TAP_TERM 100`
175 * makes it possible to use a dual role key as modifier shortly after having been tapped 175 * tap-then-hold timing to use a dual role key to repeat keycode
176 * See [Tapping Force Hold](tap_hold.md#tapping-force-hold) 176 * See [Quick Tap Term](tap_hold.md#quick-tap-term)
177 * Breaks any Tap Toggle functionality (`TT` or the One Shot Tap Toggle) 177 * Changes the timing of Tap Toggle functionality (`TT` or the One Shot Tap Toggle)
178* `#define TAPPING_FORCE_HOLD_PER_KEY` 178 * Defaults to `TAPPING_TERM` if not defined
179 * enables handling for per key `TAPPING_FORCE_HOLD` settings 179* `#define QUICK_TAP_TERM_PER_KEY`
180 * enables handling for per key `QUICK_TAP_TERM` settings
180* `#define LEADER_TIMEOUT 300` 181* `#define LEADER_TIMEOUT 300`
181 * how long before the leader key times out 182 * how long before the leader key times out
182 * If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the `LEADER_PER_KEY_TIMING` option, which resets the timeout after each key is tapped. 183 * If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the `LEADER_PER_KEY_TIMING` option, which resets the timeout after each key is tapped.
diff --git a/docs/tap_hold.md b/docs/tap_hold.md
index 8914b730b3..fa6c6abc14 100644
--- a/docs/tap_hold.md
+++ b/docs/tap_hold.md
@@ -375,49 +375,50 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
375} 375}
376``` 376```
377 377
378## Tapping Force Hold 378## Quick Tap Term
379 379
380To enable `tapping force hold`, add the following to your `config.h`: 380When the user holds a key after tapping it, the tapping function is repeated by default, rather than activating the hold function. This allows keeping the ability to auto-repeat the tapping function of a dual-role key. `QUICK_TAP_TERM` enables fine tuning of that ability. If set to `0`, it will remove the auto-repeat ability and activate the hold function instead.
381
382`QUICK_TAP_TERM` is set to `TAPPING_TERM` by default, which is the maximum allowed value for `QUICK_TAP_TERM`. To override its value (in milliseconds) add the following to your `config.h`:
381 383
382```c 384```c
383#define TAPPING_FORCE_HOLD 385#define QUICK_TAP_TERM 120
384``` 386```
385 387
386When the user holds a key after tapping it, the tapping function is repeated by default, rather than activating the hold function. This allows keeping the ability to auto-repeat the tapping function of a dual-role key. `TAPPING_FORCE_HOLD` removes that ability to let the user activate the hold function instead, in the case of holding the dual-role key after having tapped it.
387
388Example: 388Example:
389 389
390- `SFT_T(KC_A)` Down 390- `SFT_T(KC_A)` Down
391- `SFT_T(KC_A)` Up 391- `SFT_T(KC_A)` Up
392- `SFT_T(KC_A)` Down 392- `SFT_T(KC_A)` Down
393- wait until the tapping term expires... 393- (wait until tapping term expires...)
394- `SFT_T(KC_A)` Up
395 394
396With 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. 395With 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 until the key is released.
397 396
398With `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. 397With `QUICK_TAP_TERM` configured, the timing between `SFT_T(KC_A)` up and `SFT_T(KC_A)` down must be within `QUICK_TAP_TERM` to trigger auto repeat. Otherwise the second press will be sent as a Shift. If `QUICK_TAP_TERM` is set to `0`, the second press will always be sent as a Shift, effectively disabling auto-repeat.
399 398
400!> `TAPPING_FORCE_HOLD` will break anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tap Toggle). 399!> `QUICK_TAP_TERM` timing will also impact anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tap Toggle).
401 400
402For more granular control of this feature, you can add the following to your `config.h`: 401For more granular control of this feature, you can add the following to your `config.h`:
403 402
404```c 403```c
405#define TAPPING_FORCE_HOLD_PER_KEY 404#define QUICK_TAP_TERM_PER_KEY
406``` 405```
407 406
408You can then add the following function to your keymap: 407You can then add the following function to your keymap:
409 408
410```c 409```c
411bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 410uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
412 switch (keycode) { 411 switch (keycode) {
413 case LT(1, KC_BSPC): 412 case SFT_T(KC_SPC):
414 return true; 413 return QUICK_TAP_TERM - 20;
415 default: 414 default:
416 return false; 415 return QUICK_TAP_TERM;
417 } 416 }
418} 417}
419``` 418```
420 419
420?> If `QUICK_TAP_TERM` is set higher than `TAPPING_TERM`, it will default to `TAPPING_TERM`.
421
421## Retro Tapping 422## Retro Tapping
422 423
423To enable `retro tapping`, add the following to your `config.h`: 424To enable `retro tapping`, add the following to your `config.h`:
diff --git a/keyboards/25keys/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h
index 947f5ccfb1..c2322556bc 100644
--- a/keyboards/25keys/zinc/rev1/config.h
+++ b/keyboards/25keys/zinc/rev1/config.h
@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#define TAPPING_FORCE_HOLD 20#define QUICK_TAP_TERM 0
21#define TAPPING_TERM 100 21#define TAPPING_TERM 100
22 22
23/* Use I2C or Serial */ 23/* Use I2C or Serial */
diff --git a/keyboards/25keys/zinc/reva/config.h b/keyboards/25keys/zinc/reva/config.h
index 54a26cd5bc..d8c12a726e 100644
--- a/keyboards/25keys/zinc/reva/config.h
+++ b/keyboards/25keys/zinc/reva/config.h
@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17
18#pragma once 18#pragma once
19 19
20#define TAPPING_FORCE_HOLD 20#define QUICK_TAP_TERM 0
21#define TAPPING_TERM 100 21#define TAPPING_TERM 100
22 22
23/* Use I2C or Serial */ 23/* Use I2C or Serial */
diff --git a/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h b/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h
index a635e944c1..bde9ec2055 100644
--- a/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h
+++ b/keyboards/40percentclub/gherkin/keymaps/pierrec83/config.h
@@ -28,4 +28,4 @@
28#define TAPPING_TERM 200 28#define TAPPING_TERM 200
29#define PERMISSIVE_HOLD 29#define PERMISSIVE_HOLD
30#define IGNORE_MOD_TAP_INTERRUPT 30#define IGNORE_MOD_TAP_INTERRUPT
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
index bd6fd9d1d0..243b953f68 100644
--- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
+++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
@@ -16,7 +16,7 @@
16#define IGNORE_MOD_TAP_INTERRUPT 16#define IGNORE_MOD_TAP_INTERRUPT
17 // makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. 17 // makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys.
18 18
19#define TAPPING_FORCE_HOLD 19#define QUICK_TAP_TERM 0
20 // makes it possible to use a dual role key as modifier shortly after having been tapped (see Hold after tap) 20 // makes it possible to use a dual role key as modifier shortly after having been tapped (see Hold after tap)
21 // Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 21 // Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
22 22
diff --git a/keyboards/adm42/rev4/keymaps/default/config.h b/keyboards/adm42/rev4/keymaps/default/config.h
index 38c012e938..4082d84a3a 100644
--- a/keyboards/adm42/rev4/keymaps/default/config.h
+++ b/keyboards/adm42/rev4/keymaps/default/config.h
@@ -1,3 +1,3 @@
1#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY 1#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
2#define TAPPING_FORCE_HOLD_PER_KEY 2#define QUICK_TAP_TERM_PER_KEY
3#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY 3#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
diff --git a/keyboards/adm42/rev4/keymaps/default/keymap.c b/keyboards/adm42/rev4/keymaps/default/keymap.c
index 109796f7ae..245a3bd4de 100644
--- a/keyboards/adm42/rev4/keymaps/default/keymap.c
+++ b/keyboards/adm42/rev4/keymaps/default/keymap.c
@@ -114,13 +114,13 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
114 } 114 }
115} 115}
116 116
117bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 117uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
118 switch (keycode) { 118 switch (keycode) {
119 case LLS_ESC: 119 case LLS_ESC:
120 case LLS_RALT: 120 case LLS_RALT:
121 return true; 121 return 0;
122 default: 122 default:
123 return false; 123 return QUICK_TAP_TERM;
124 } 124 }
125} 125}
126 126
diff --git a/keyboards/arabica37/keymaps/default/config.h b/keyboards/arabica37/keymaps/default/config.h
index eed6b7221b..57ce4cc0c1 100644
--- a/keyboards/arabica37/keymaps/default/config.h
+++ b/keyboards/arabica37/keymaps/default/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 170 32#define TAPPING_TERM 170
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/atreus/keymaps/kejadlen/config.h b/keyboards/atreus/keymaps/kejadlen/config.h
index 437bfa326e..5a9573c57f 100644
--- a/keyboards/atreus/keymaps/kejadlen/config.h
+++ b/keyboards/atreus/keymaps/kejadlen/config.h
@@ -8,6 +8,6 @@
8#define DIODE_DIRECTION COL2ROW 8#define DIODE_DIRECTION COL2ROW
9 9
10#define IGNORE_MOD_TAP_INTERRUPT 10#define IGNORE_MOD_TAP_INTERRUPT
11#define TAPPING_FORCE_HOLD 11#define QUICK_TAP_TERM 0
12 12
13#define USB_MAX_POWER_CONSUMPTION 50 13#define USB_MAX_POWER_CONSUMPTION 50
diff --git a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
index b6f2866c46..1ad3156afa 100644
--- a/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
+++ b/keyboards/b_sides/rev41lp/keymaps/namnlos/config.h
@@ -26,7 +26,7 @@
26 26
27#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX 27#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30#define TAPPING_TERM 200 30#define TAPPING_TERM 200
31#define TAPPING_TERM_PER_KEY 31#define TAPPING_TERM_PER_KEY
32 32
diff --git a/keyboards/basekeys/slice/keymaps/default/config.h b/keyboards/basekeys/slice/keymaps/default/config.h
index 3dc07fdac1..f1d6eef419 100644
--- a/keyboards/basekeys/slice/keymaps/default/config.h
+++ b/keyboards/basekeys/slice/keymaps/default/config.h
@@ -18,5 +18,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/config.h b/keyboards/basekeys/slice/keymaps/default_split_left_space/config.h
index 3dc07fdac1..f1d6eef419 100644
--- a/keyboards/basekeys/slice/keymaps/default_split_left_space/config.h
+++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/config.h
@@ -18,5 +18,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h b/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h
index 8f38938b10..3807c29fa7 100644
--- a/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h
+++ b/keyboards/basekeys/slice/rev1/keymaps/2moons/config.h
@@ -18,6 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23//#define MASTER_RIGHT 23//#define MASTER_RIGHT
diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_all/config.h b/keyboards/basekeys/slice/rev1/keymaps/default_all/config.h
index 3dc07fdac1..f1d6eef419 100644
--- a/keyboards/basekeys/slice/rev1/keymaps/default_all/config.h
+++ b/keyboards/basekeys/slice/rev1/keymaps/default_all/config.h
@@ -18,5 +18,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h
index 3dc07fdac1..f1d6eef419 100644
--- a/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h
+++ b/keyboards/basekeys/slice/rev1/keymaps/default_split_backspace/config.h
@@ -18,5 +18,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/config.h b/keyboards/basekeys/slice/rev1/keymaps/via/config.h
index 3dc07fdac1..f1d6eef419 100644
--- a/keyboards/basekeys/slice/rev1/keymaps/via/config.h
+++ b/keyboards/basekeys/slice/rev1/keymaps/via/config.h
@@ -18,5 +18,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h
index 8f38938b10..3807c29fa7 100644
--- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/config.h
@@ -18,6 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23//#define MASTER_RIGHT 23//#define MASTER_RIGHT
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h
index cceba7c1fb..0d11c53e88 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/bstiq/config.h
@@ -43,7 +43,7 @@
43 * 43 *
44 * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold 44 * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
45 */ 45 */
46#define TAPPING_FORCE_HOLD 46#define QUICK_TAP_TERM 0
47 47
48/* 48/*
49 * Tap-or-Hold decision modes. 49 * Tap-or-Hold decision modes.
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h
index cbe8e7bba7..2390d10ca5 100644
--- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h
+++ b/keyboards/bastardkb/dilemma/3x5_2/keymaps/bstiq/config.h
@@ -41,7 +41,7 @@
41 * 41 *
42 * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold 42 * See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
43 */ 43 */
44#define TAPPING_FORCE_HOLD 44#define QUICK_TAP_TERM 0
45 45
46/* 46/*
47 * Tap-or-Hold decision modes. 47 * Tap-or-Hold decision modes.
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h
index 139b1f06ea..fce6c3a1f6 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h
@@ -37,7 +37,7 @@
37 * Enable rapid switch from tap to hold. Disable auto-repeat when pressing key 37 * Enable rapid switch from tap to hold. Disable auto-repeat when pressing key
38 * twice, except for one-shot keys. 38 * twice, except for one-shot keys.
39 */ 39 */
40#define TAPPING_FORCE_HOLD 40#define QUICK_TAP_TERM 0
41 41
42/* 42/*
43 * Tap-or-Hold decision modes. 43 * Tap-or-Hold decision modes.
diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/config.h b/keyboards/bastardkb/scylla/keymaps/cykedev/config.h
index 3b2fa15b96..43037350f6 100644
--- a/keyboards/bastardkb/scylla/keymaps/cykedev/config.h
+++ b/keyboards/bastardkb/scylla/keymaps/cykedev/config.h
@@ -32,7 +32,7 @@
32// #define IGNORE_MOD_TAP_INTERRUPT 32// #define IGNORE_MOD_TAP_INTERRUPT
33 33
34// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 34// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
35// #define TAPPING_FORCE_HOLD 35// #define QUICK_TAP_TERM 0
36 36
37// Apply the modifier on keys that are tapped during a short hold of a modtap 37// Apply the modifier on keys that are tapped during a short hold of a modtap
38// #define PERMISSIVE_HOLD 38// #define PERMISSIVE_HOLD
diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/config.h b/keyboards/bastardkb/scylla/keymaps/xyverz/config.h
index d7baf99376..335f968e2a 100644
--- a/keyboards/bastardkb/scylla/keymaps/xyverz/config.h
+++ b/keyboards/bastardkb/scylla/keymaps/xyverz/config.h
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25// #define MASTER_RIGHT 25// #define MASTER_RIGHT
26#define EE_HANDS 26#define EE_HANDS
27 27
28#define TAPPING_FORCE_HOLD 28#define QUICK_TAP_TERM 0
29#define TAPPING_TERM 300 29#define TAPPING_TERM 300
30#define PERMISSIVE_HOLD 30#define PERMISSIVE_HOLD
31#define IGNORE_MOD_TAP_INTERRUPT 31#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/bastardkb/tbk/keymaps/xyverz/config.h b/keyboards/bastardkb/tbk/keymaps/xyverz/config.h
index d7baf99376..335f968e2a 100644
--- a/keyboards/bastardkb/tbk/keymaps/xyverz/config.h
+++ b/keyboards/bastardkb/tbk/keymaps/xyverz/config.h
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25// #define MASTER_RIGHT 25// #define MASTER_RIGHT
26#define EE_HANDS 26#define EE_HANDS
27 27
28#define TAPPING_FORCE_HOLD 28#define QUICK_TAP_TERM 0
29#define TAPPING_TERM 300 29#define TAPPING_TERM 300
30#define PERMISSIVE_HOLD 30#define PERMISSIVE_HOLD
31#define IGNORE_MOD_TAP_INTERRUPT 31#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/buzzard/keymaps/crehmann/config.h b/keyboards/buzzard/keymaps/crehmann/config.h
index d5d9a9bb83..c5638c767d 100644
--- a/keyboards/buzzard/keymaps/crehmann/config.h
+++ b/keyboards/buzzard/keymaps/crehmann/config.h
@@ -10,7 +10,7 @@
10#define IGNORE_MOD_TAP_INTERRUPT 10#define IGNORE_MOD_TAP_INTERRUPT
11 11
12// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 12// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
13#define TAPPING_FORCE_HOLD 13#define QUICK_TAP_TERM 0
14 14
15// Apply the modifier on keys that are tapped during a short hold of a modtap 15// Apply the modifier on keys that are tapped during a short hold of a modtap
16#define PERMISSIVE_HOLD 16#define PERMISSIVE_HOLD
diff --git a/keyboards/buzzard/keymaps/default/config.h b/keyboards/buzzard/keymaps/default/config.h
index 76294cf78a..0f1db48977 100644
--- a/keyboards/buzzard/keymaps/default/config.h
+++ b/keyboards/buzzard/keymaps/default/config.h
@@ -10,7 +10,7 @@
10#define IGNORE_MOD_TAP_INTERRUPT 10#define IGNORE_MOD_TAP_INTERRUPT
11 11
12// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 12// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
13#define TAPPING_FORCE_HOLD 13#define QUICK_TAP_TERM 0
14 14
15// Apply the modifier on keys that are tapped during a short hold of a modtap 15// Apply the modifier on keys that are tapped during a short hold of a modtap
16#define PERMISSIVE_HOLD 16#define PERMISSIVE_HOLD
diff --git a/keyboards/clickety_split/leeloo/keymaps/default/config.h b/keyboards/clickety_split/leeloo/keymaps/default/config.h
index 7a8d0f5bd6..c944579972 100644
--- a/keyboards/clickety_split/leeloo/keymaps/default/config.h
+++ b/keyboards/clickety_split/leeloo/keymaps/default/config.h
@@ -26,7 +26,7 @@
26 #undef TAPPING_TERM 26 #undef TAPPING_TERM
27 27
28 #define IGNORE_MOD_TAP_INTERRUPT 28 #define IGNORE_MOD_TAP_INTERRUPT
29 #define TAPPING_FORCE_HOLD 29 #define QUICK_TAP_TERM 0
30 #define TAPPING_TERM 150 30 #define TAPPING_TERM 150
31#endif 31#endif
32 32
diff --git a/keyboards/crkbd/keymaps/ajarov/config.h b/keyboards/crkbd/keymaps/ajarov/config.h
index 4c408112bd..d993e8e659 100644
--- a/keyboards/crkbd/keymaps/ajarov/config.h
+++ b/keyboards/crkbd/keymaps/ajarov/config.h
@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27// #define MASTER_RIGHT 27// #define MASTER_RIGHT
28// #define EE_HANDS 28// #define EE_HANDS
29 29
30//#define TAPPING_FORCE_HOLD 30//#define QUICK_TAP_TERM 0
31//#define TAPPING_TERM 100 31//#define TAPPING_TERM 100
32 32
33#ifdef RGBLIGHT_ENABLE 33#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/keymaps/antosha417/config.h b/keyboards/crkbd/keymaps/antosha417/config.h
index 4b6e86fd6b..bfe2b143d2 100644
--- a/keyboards/crkbd/keymaps/antosha417/config.h
+++ b/keyboards/crkbd/keymaps/antosha417/config.h
@@ -10,7 +10,7 @@
10#define EE_HANDS 10#define EE_HANDS
11 11
12 12
13#define TAPPING_FORCE_HOLD 13#define QUICK_TAP_TERM 0
14 14
15#ifdef RGBLIGHT_ENABLE 15#ifdef RGBLIGHT_ENABLE
16 #undef RGBLED_NUM 16 #undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/ardakilic/config.h b/keyboards/crkbd/keymaps/ardakilic/config.h
index 7a3bb76b38..95e7ddb329 100644
--- a/keyboards/crkbd/keymaps/ardakilic/config.h
+++ b/keyboards/crkbd/keymaps/ardakilic/config.h
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31// #define EE_HANDS 31// #define EE_HANDS
32 32
33 33
34#define TAPPING_FORCE_HOLD 34#define QUICK_TAP_TERM 0
35#define TAPPING_TERM 200 35#define TAPPING_TERM 200
36#define PERMISSIVE_HOLD 36#define PERMISSIVE_HOLD
37#define IGNORE_MOD_TAP_INTERRUPT 37#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/armand1m/config.h b/keyboards/crkbd/keymaps/armand1m/config.h
index 095879a190..f4b8c08a3f 100644
--- a/keyboards/crkbd/keymaps/armand1m/config.h
+++ b/keyboards/crkbd/keymaps/armand1m/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31// #define TAPPING_FORCE_HOLD 31// #define QUICK_TAP_TERM 0
32// #define PERMISSIVE_HOLD 32// #define PERMISSIVE_HOLD
33#define TAPPING_TERM 300 33#define TAPPING_TERM 300
34#define IGNORE_MOD_TAP_INTERRUPT 34#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/benrestech/config.h b/keyboards/crkbd/keymaps/benrestech/config.h
index b112aed743..f700899883 100644
--- a/keyboards/crkbd/keymaps/benrestech/config.h
+++ b/keyboards/crkbd/keymaps/benrestech/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29#define EE_HANDS 29#define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 175 32#define TAPPING_TERM 175
33#define PERMISSIVE_HOLD 33#define PERMISSIVE_HOLD
34#define IGNORE_MOD_TAP_INTERRUPT 34#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/bermeo/config.h b/keyboards/crkbd/keymaps/bermeo/config.h
index cadb397834..188f717aba 100644
--- a/keyboards/crkbd/keymaps/bermeo/config.h
+++ b/keyboards/crkbd/keymaps/bermeo/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31// #define TAPPING_FORCE_HOLD 31// #define QUICK_TAP_TERM 0
32#define TAPPING_TERM 150 32#define TAPPING_TERM 150
33// #define RETRO_TAPPING 33// #define RETRO_TAPPING
34// #define IGNORE_MOD_TAP_INTERRUPT 34// #define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/blipson/config.h b/keyboards/crkbd/keymaps/blipson/config.h
index 1994795836..ca69ac3873 100644
--- a/keyboards/crkbd/keymaps/blipson/config.h
+++ b/keyboards/crkbd/keymaps/blipson/config.h
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25// #define MASTER_RIGHT 25// #define MASTER_RIGHT
26// #define EE_HANDS 26// #define EE_HANDS
27 27
28#define TAPPING_FORCE_HOLD 28#define QUICK_TAP_TERM 0
29#define TAPPING_TERM 100 29#define TAPPING_TERM 100
30 30
31#ifdef RGBLIGHT_ENABLE 31#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/keymaps/colemad/config.h b/keyboards/crkbd/keymaps/colemad/config.h
index 6d2050e148..b52c669ea9 100644
--- a/keyboards/crkbd/keymaps/colemad/config.h
+++ b/keyboards/crkbd/keymaps/colemad/config.h
@@ -2,7 +2,7 @@
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3#pragma once 3#pragma once
4 4
5#define TAPPING_FORCE_HOLD 5#define QUICK_TAP_TERM 0
6#define TAPPING_TERM 200 6#define TAPPING_TERM 200
7 7
8#ifdef RGB_MATRIX_ENABLE 8#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/crkbd/keymaps/crkdves/config.h b/keyboards/crkbd/keymaps/crkdves/config.h
index 52d4fdd93a..ca025830b4 100644
--- a/keyboards/crkbd/keymaps/crkdves/config.h
+++ b/keyboards/crkbd/keymaps/crkdves/config.h
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26// #define MASTER_RIGHT 26// #define MASTER_RIGHT
27// #define EE_HANDS 27// #define EE_HANDS
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30#define TAPPING_TERM 200 30#define TAPPING_TERM 200
31// #define RETRO_TAPPING 31// #define RETRO_TAPPING
32// #define IGNORE_MOD_TAP_INTERRUPT 32// #define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/crkqwes/config.h b/keyboards/crkbd/keymaps/crkqwes/config.h
index 878f9a74e1..bf33cc90aa 100644
--- a/keyboards/crkbd/keymaps/crkqwes/config.h
+++ b/keyboards/crkbd/keymaps/crkqwes/config.h
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32#undef USE_I2C 32#undef USE_I2C
33#undef SSD1306OLED 33#undef SSD1306OLED
34 34
35#define TAPPING_FORCE_HOLD 35#define QUICK_TAP_TERM 0
36#define TAPPING_TERM 200 36#define TAPPING_TERM 200
37// #define RETRO_TAPPING 37// #define RETRO_TAPPING
38// #define IGNORE_MOD_TAP_INTERRUPT 38// #define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/default/config.h b/keyboards/crkbd/keymaps/default/config.h
index 8f4d73ca22..4e70141dad 100644
--- a/keyboards/crkbd/keymaps/default/config.h
+++ b/keyboards/crkbd/keymaps/default/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31//#define TAPPING_FORCE_HOLD 31//#define QUICK_TAP_TERM 0
32//#define TAPPING_TERM 100 32//#define TAPPING_TERM 100
33 33
34#ifdef RGBLIGHT_ENABLE 34#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/keymaps/devdev/config.h b/keyboards/crkbd/keymaps/devdev/config.h
index 14067d1e74..337a86df8e 100644
--- a/keyboards/crkbd/keymaps/devdev/config.h
+++ b/keyboards/crkbd/keymaps/devdev/config.h
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
34 34
35#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding 35#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
36 36
37#define TAPPING_FORCE_HOLD 37#define QUICK_TAP_TERM 0
38#define TAPPING_TERM 200 38#define TAPPING_TERM 200
39 39
40#define RGBLIGHT_SLEEP 40#define RGBLIGHT_SLEEP
diff --git a/keyboards/crkbd/keymaps/edvorakjp/config.h b/keyboards/crkbd/keymaps/edvorakjp/config.h
index 8787ba88d3..ee4e7388be 100644
--- a/keyboards/crkbd/keymaps/edvorakjp/config.h
+++ b/keyboards/crkbd/keymaps/edvorakjp/config.h
@@ -8,7 +8,7 @@
8 8
9#define SWAP_SCLN 9#define SWAP_SCLN
10 10
11// #define TAPPING_FORCE_HOLD 11// #define QUICK_TAP_TERM 0
12#define TAPPING_TERM 300 12#define TAPPING_TERM 300
13#define IGNORE_MOD_TAP_INTERRUPT 13#define IGNORE_MOD_TAP_INTERRUPT
14 14
diff --git a/keyboards/crkbd/keymaps/hvp/config.h b/keyboards/crkbd/keymaps/hvp/config.h
index e569a59bc9..a926f67537 100644
--- a/keyboards/crkbd/keymaps/hvp/config.h
+++ b/keyboards/crkbd/keymaps/hvp/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31//#define TAPPING_FORCE_HOLD 31//#define QUICK_TAP_TERM 0
32//#define TAPPING_TERM 100 32//#define TAPPING_TERM 100
33 33
34#define TAPPING_TERM 150 34#define TAPPING_TERM 150
diff --git a/keyboards/crkbd/keymaps/jarred/config.h b/keyboards/crkbd/keymaps/jarred/config.h
index c6c80469ed..c95deb1abb 100644
--- a/keyboards/crkbd/keymaps/jarred/config.h
+++ b/keyboards/crkbd/keymaps/jarred/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31//#define TAPPING_FORCE_HOLD 31//#define QUICK_TAP_TERM 0
32//#define TAPPING_TERM 100 32//#define TAPPING_TERM 100
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/julian_turner/config.h b/keyboards/crkbd/keymaps/julian_turner/config.h
index fbe5277c40..3b875235a8 100644
--- a/keyboards/crkbd/keymaps/julian_turner/config.h
+++ b/keyboards/crkbd/keymaps/julian_turner/config.h
@@ -29,6 +29,6 @@
29#define IGNORE_MOD_TAP_INTERRUPT 29#define IGNORE_MOD_TAP_INTERRUPT
30 30
31// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 31// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
32#define TAPPING_FORCE_HOLD 32#define QUICK_TAP_TERM 0
33 33
34//#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" 34//#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h
index 74f8a0823b..33655b4c9d 100644
--- a/keyboards/crkbd/keymaps/kidbrazil/config.h
+++ b/keyboards/crkbd/keymaps/kidbrazil/config.h
@@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
29// #define MASTER_RIGHT 29// #define MASTER_RIGHT
30// #define EE_HANDS 30// #define EE_HANDS
31 31
32#define TAPPING_FORCE_HOLD 32#define QUICK_TAP_TERM 0
33#define TAPPING_TERM 150 33#define TAPPING_TERM 150
34#undef PRODUCT 34#undef PRODUCT
35#define PRODUCT "CRKBD Loose Transistor Ed." 35#define PRODUCT "CRKBD Loose Transistor Ed."
diff --git a/keyboards/crkbd/keymaps/madhatter/config.h b/keyboards/crkbd/keymaps/madhatter/config.h
index 599bbc27c3..afdaf1c1fd 100644
--- a/keyboards/crkbd/keymaps/madhatter/config.h
+++ b/keyboards/crkbd/keymaps/madhatter/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 100 32#define TAPPING_TERM 100
33 33
34#ifdef RGBLIGHT_ENABLE 34#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/keymaps/nimishgautam/config.h b/keyboards/crkbd/keymaps/nimishgautam/config.h
index b09d858898..53b5f1b834 100644
--- a/keyboards/crkbd/keymaps/nimishgautam/config.h
+++ b/keyboards/crkbd/keymaps/nimishgautam/config.h
@@ -19,7 +19,7 @@
19#define EXTRA_SHORT_COMBOS 19#define EXTRA_SHORT_COMBOS
20 20
21//Tapping values 21//Tapping values
22//#define TAPPING_FORCE_HOLD 22//#define QUICK_TAP_TERM 0
23#define TAPPING_TERM 200 23#define TAPPING_TERM 200
24#define IGNORE_MOD_TAP_INTERRUPT 24#define IGNORE_MOD_TAP_INTERRUPT
25#define PERMISSIVE_HOLD_PER_KEY 25#define PERMISSIVE_HOLD_PER_KEY
diff --git a/keyboards/crkbd/keymaps/ninjonas/config.h b/keyboards/crkbd/keymaps/ninjonas/config.h
index 174c678769..fa3711ce8f 100644
--- a/keyboards/crkbd/keymaps/ninjonas/config.h
+++ b/keyboards/crkbd/keymaps/ninjonas/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
24 24
25#define MASTER_LEFT 25#define MASTER_LEFT
26 26
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28 28
29#ifdef RGB_MATRIX_ENABLE 29#ifdef RGB_MATRIX_ENABLE
30 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 30 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
diff --git a/keyboards/crkbd/keymaps/oled_sample/config.h b/keyboards/crkbd/keymaps/oled_sample/config.h
index cd24f74744..14718b26d1 100644
--- a/keyboards/crkbd/keymaps/oled_sample/config.h
+++ b/keyboards/crkbd/keymaps/oled_sample/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 100 32#define TAPPING_TERM 100
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/ollyhayes/config.h b/keyboards/crkbd/keymaps/ollyhayes/config.h
index 4c51005181..9ad1ce2c58 100644
--- a/keyboards/crkbd/keymaps/ollyhayes/config.h
+++ b/keyboards/crkbd/keymaps/ollyhayes/config.h
@@ -18,7 +18,7 @@
18 18
19#define EE_HANDS 19#define EE_HANDS
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 100 22#define TAPPING_TERM 100
23 23
24#define NO_ACTION_ONESHOT 24#define NO_ACTION_ONESHOT
diff --git a/keyboards/crkbd/keymaps/oo/config.h b/keyboards/crkbd/keymaps/oo/config.h
index 8dc71430a1..814d227d7d 100644
--- a/keyboards/crkbd/keymaps/oo/config.h
+++ b/keyboards/crkbd/keymaps/oo/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22 22
23#define SPLIT_USB_DETECT 23#define SPLIT_USB_DETECT
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 100 26#define TAPPING_TERM 100
27 27
28#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" 28#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
diff --git a/keyboards/crkbd/keymaps/rarick/config.h b/keyboards/crkbd/keymaps/rarick/config.h
index 3dc4003f75..4a033596a8 100644
--- a/keyboards/crkbd/keymaps/rarick/config.h
+++ b/keyboards/crkbd/keymaps/rarick/config.h
@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27// #define MASTER_RIGHT 27// #define MASTER_RIGHT
28// #define EE_HANDS 28// #define EE_HANDS
29 29
30#define TAPPING_FORCE_HOLD 30#define QUICK_TAP_TERM 0
31#define TAPPING_TERM 100 31#define TAPPING_TERM 100
32 32
33#ifdef RGBLIGHT_ENABLE 33#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/keymaps/rjhilgefort/config.h b/keyboards/crkbd/keymaps/rjhilgefort/config.h
index 41d709d3a5..a7eb8b2a4f 100644
--- a/keyboards/crkbd/keymaps/rjhilgefort/config.h
+++ b/keyboards/crkbd/keymaps/rjhilgefort/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 200 // 200 is default 32#define TAPPING_TERM 200 // 200 is default
33 33
34#ifdef RGBLIGHT_ENABLE 34#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/keymaps/rs/config.h b/keyboards/crkbd/keymaps/rs/config.h
index 85b9b95a23..bbdb0d8106 100644
--- a/keyboards/crkbd/keymaps/rs/config.h
+++ b/keyboards/crkbd/keymaps/rs/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 300 32#define TAPPING_TERM 300
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/sharkby7e/config.h b/keyboards/crkbd/keymaps/sharkby7e/config.h
index b1896bea90..0ff3549ba9 100644
--- a/keyboards/crkbd/keymaps/sharkby7e/config.h
+++ b/keyboards/crkbd/keymaps/sharkby7e/config.h
@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27// #define MASTER_RIGHT 27// #define MASTER_RIGHT
28// #define EE_HANDS 28// #define EE_HANDS
29 29
30//#define TAPPING_FORCE_HOLD 30//#define QUICK_TAP_TERM 0
31#define TAPPING_TERM 200 31#define TAPPING_TERM 200
32#define IGNORE_MOD_TAP_INTERRUPT 32#define IGNORE_MOD_TAP_INTERRUPT
33 33
diff --git a/keyboards/crkbd/keymaps/snowe/config.h b/keyboards/crkbd/keymaps/snowe/config.h
index 8bceb729d8..b091cd7903 100644
--- a/keyboards/crkbd/keymaps/snowe/config.h
+++ b/keyboards/crkbd/keymaps/snowe/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 200 32#define TAPPING_TERM 200
33 33
34#define IGNORE_MOD_TAP_INTERRUPT 34#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/soundmonster/config.h b/keyboards/crkbd/keymaps/soundmonster/config.h
index 7cd9ecaed9..6cd090f9fd 100644
--- a/keyboards/crkbd/keymaps/soundmonster/config.h
+++ b/keyboards/crkbd/keymaps/soundmonster/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31// #define TAPPING_FORCE_HOLD 31// #define QUICK_TAP_TERM 0
32#define TAPPING_TERM 150 32#define TAPPING_TERM 150
33#define RETRO_TAPPING 33#define RETRO_TAPPING
34#define IGNORE_MOD_TAP_INTERRUPT 34#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/config.h b/keyboards/crkbd/keymaps/thumb_ctrl/config.h
index 6e54150c17..4191a14524 100755
--- a/keyboards/crkbd/keymaps/thumb_ctrl/config.h
+++ b/keyboards/crkbd/keymaps/thumb_ctrl/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 150 32#define TAPPING_TERM 150
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/toinux/config.h b/keyboards/crkbd/keymaps/toinux/config.h
index 2ee5a4e182..c033076a5a 100644
--- a/keyboards/crkbd/keymaps/toinux/config.h
+++ b/keyboards/crkbd/keymaps/toinux/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31//#define TAPPING_FORCE_HOLD 31//#define QUICK_TAP_TERM 0
32//#define TAPPING_TERM 100 32//#define TAPPING_TERM 100
33 33
34#ifdef RGBLIGHT_ENABLE 34#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/crkbd/keymaps/vayashiko/config.h b/keyboards/crkbd/keymaps/vayashiko/config.h
index 85a5412851..01a1210c81 100644
--- a/keyboards/crkbd/keymaps/vayashiko/config.h
+++ b/keyboards/crkbd/keymaps/vayashiko/config.h
@@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30 30
31 31
32 32
33#define TAPPING_FORCE_HOLD 33#define QUICK_TAP_TERM 0
34#define TAPPING_TERM 100 34#define TAPPING_TERM 100
35 35
36#undef RGBLED_NUM 36#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h
index 4a370ef43c..8ff7589a9d 100644
--- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h
+++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h
@@ -5,7 +5,7 @@
5#define MASTER_RIGHT 5#define MASTER_RIGHT
6// #define EE_HANDS 6// #define EE_HANDS
7 7
8#define TAPPING_FORCE_HOLD 8#define QUICK_TAP_TERM 0
9#define TAPPING_TERM 100 9#define TAPPING_TERM 100
10 10
11#undef RGBLED_NUM 11#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h
index 257c9df97b..cddd09e5b6 100644
--- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h
+++ b/keyboards/crkbd/keymaps/vlukash_trackpad_right/config.h
@@ -12,7 +12,7 @@
12/* Select hand configuration */ 12/* Select hand configuration */
13#define MASTER_RIGHT 13#define MASTER_RIGHT
14 14
15#define TAPPING_FORCE_HOLD 15#define QUICK_TAP_TERM 0
16#define TAPPING_TERM 300 16#define TAPPING_TERM 300
17 17
18#undef RGBLED_NUM 18#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/vxid/config.h b/keyboards/crkbd/keymaps/vxid/config.h
index 5b18de236e..1960e13194 100644
--- a/keyboards/crkbd/keymaps/vxid/config.h
+++ b/keyboards/crkbd/keymaps/vxid/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28#define MASTER_RIGHT 28#define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 100 32#define TAPPING_TERM 100
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/crkbd/keymaps/xyverz/config.h b/keyboards/crkbd/keymaps/xyverz/config.h
index 47a18105bd..2ccbb229b8 100644
--- a/keyboards/crkbd/keymaps/xyverz/config.h
+++ b/keyboards/crkbd/keymaps/xyverz/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29#define EE_HANDS 29#define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 300 32#define TAPPING_TERM 300
33#define PERMISSIVE_HOLD 33#define PERMISSIVE_HOLD
34#define IGNORE_MOD_TAP_INTERRUPT 34#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h b/keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h
index d4d7a264d3..fcf6befb16 100644
--- a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h
+++ b/keyboards/crkbd/rev1/keymaps/dvorak_42_key/config.h
@@ -11,7 +11,7 @@
11#define MASTER_RIGHT 11#define MASTER_RIGHT
12// #define EE_HANDS 12// #define EE_HANDS
13 13
14//#define TAPPING_FORCE_HOLD 14//#define QUICK_TAP_TERM 0
15//#define TAPPING_TERM 100 15//#define TAPPING_TERM 100
16 16
17// #define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD 17// #define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
diff --git a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h b/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h
index 7b408ba7bd..a5235259ff 100644
--- a/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h
+++ b/keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h
@@ -19,7 +19,7 @@
19#endif // !NO_PRINT 19#endif // !NO_PRINT
20 20
21#define NO_ACTION_ONESHOT 21#define NO_ACTION_ONESHOT
22#define TAPPING_FORCE_HOLD 22#define QUICK_TAP_TERM 0
23#define IGNORE_MOD_TAP_INTERRUPT 23#define IGNORE_MOD_TAP_INTERRUPT
24 24
25// #include "config_led.h" 25// #include "config_led.h"
diff --git a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
index 786360c5a2..4ea0d150ea 100644
--- a/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
+++ b/keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
@@ -65,7 +65,7 @@
65#endif // !NO_PRINT 65#endif // !NO_PRINT
66 66
67#define NO_ACTION_ONESHOT 67#define NO_ACTION_ONESHOT
68#define TAPPING_FORCE_HOLD 68#define QUICK_TAP_TERM 0
69#define IGNORE_MOD_TAP_INTERRUPT 69#define IGNORE_MOD_TAP_INTERRUPT
70 70
71// #include "config_led.h" 71// #include "config_led.h"
diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h b/keyboards/dztech/dz60rgb/keymaps/xunz/config.h
index 2fdb3e5f4c..c302214061 100644
--- a/keyboards/dztech/dz60rgb/keymaps/xunz/config.h
+++ b/keyboards/dztech/dz60rgb/keymaps/xunz/config.h
@@ -49,5 +49,5 @@
49// #define RGB_MATRIX_KEYRELEASES 49// #define RGB_MATRIX_KEYRELEASES
50 50
51#define NO_ACTION_ONESHOT 51#define NO_ACTION_ONESHOT
52#define TAPPING_FORCE_HOLD 52#define QUICK_TAP_TERM 0
53#define IGNORE_MOD_TAP_INTERRUPT 53#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
index 6586ab58e4..93e6990950 100644
--- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
+++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
@@ -59,7 +59,7 @@
59#endif // !NO_PRINT 59#endif // !NO_PRINT
60 60
61#define NO_ACTION_ONESHOT 61#define NO_ACTION_ONESHOT
62#define TAPPING_FORCE_HOLD 62#define QUICK_TAP_TERM 0
63#define IGNORE_MOD_TAP_INTERRUPT 63#define IGNORE_MOD_TAP_INTERRUPT
64 64
65// #include "config_led.h" 65// #include "config_led.h"
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
index acd3a44e16..3f8c68ceb7 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
@@ -78,7 +78,7 @@
78// #define NO_PRINT 78// #define NO_PRINT
79 79
80// #define RETRO_TAPPING 80// #define RETRO_TAPPING
81// #define TAPPING_FORCE_HOLD 81// #define QUICK_TAP_TERM 0
82 82
83// #define AUTO_SHIFT_TIMEOUT 150 83// #define AUTO_SHIFT_TIMEOUT 150
84// #define NO_AUTO_SHIFT_SPECIAL 84// #define NO_AUTO_SHIFT_SPECIAL
diff --git a/keyboards/ergodox_ez/keymaps/stamm/config.h b/keyboards/ergodox_ez/keymaps/stamm/config.h
index e1db3d9002..f9e89d276f 100644
--- a/keyboards/ergodox_ez/keymaps/stamm/config.h
+++ b/keyboards/ergodox_ez/keymaps/stamm/config.h
@@ -32,8 +32,8 @@
32#define IGNORE_MOD_TAP_INTERRUPT 32#define IGNORE_MOD_TAP_INTERRUPT
33#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY 33#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
34 34
35#define TAPPING_FORCE_HOLD 35#define QUICK_TAP_TERM 0
36#define TAPPING_FORCE_HOLD_PER_KEY 36#define QUICK_TAP_TERM_PER_KEY
37 37
38/* #define RETRO_TAPPING */ 38/* #define RETRO_TAPPING */
39#undef LED_BRIGHTNESS_DEFAULT 39#undef LED_BRIGHTNESS_DEFAULT
diff --git a/keyboards/ergodox_ez/keymaps/stamm/keymap.c b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
index 2b0aff6362..aa9debfe57 100644
--- a/keyboards/ergodox_ez/keymaps/stamm/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
@@ -225,28 +225,25 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
225 } 225 }
226} 226}
227 227
228 228uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
229bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 229 switch (keycode) {
230 switch (keycode) { 230 case LT(_1_NUMBERS, KC_E):
231 case LT(_1_NUMBERS, KC_E): 231 case R_MOUSE:
232 case R_MOUSE: 232 case LSFT_T(KC_A):
233 case LSFT_T(KC_A): 233 case LCTL_T(KC_S):
234 case LCTL_T(KC_S): 234 case LALT_T(KC_D):
235 case LALT_T(KC_D): 235 case LGUI_T(KC_F):
236 case LGUI_T(KC_F): 236 case RGUI_T(KC_J):
237 case RGUI_T(KC_J): 237 case RALT_T(KC_K):
238 case RALT_T(KC_K): 238 case RCTL_T(KC_L):
239 case RCTL_T(KC_L): 239 case RSFT_T(KC_SEMICOLON):
240 case RSFT_T(KC_SEMICOLON): 240 case ARROWS:
241 case ARROWS: 241 return QUICK_TAP_TERM;
242 return false; 242 default:
243 default: 243 return 0;
244 return true; 244 }
245 }
246} 245}
247 246
248
249
250LEADER_EXTERNS(); 247LEADER_EXTERNS();
251 248
252void matrix_scan_user(void) { 249void matrix_scan_user(void) {
diff --git a/keyboards/ferris/keymaps/bruun-baer/config.h b/keyboards/ferris/keymaps/bruun-baer/config.h
index 4f63ee544f..5c2377be1e 100644
--- a/keyboards/ferris/keymaps/bruun-baer/config.h
+++ b/keyboards/ferris/keymaps/bruun-baer/config.h
@@ -36,4 +36,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
36#define TAPPING_TERM 200 36#define TAPPING_TERM 200
37#define PERMISSIVE_HOLD 37#define PERMISSIVE_HOLD
38#define IGNORE_MOD_TAP_INTERRUPT 38#define IGNORE_MOD_TAP_INTERRUPT
39#define TAPPING_FORCE_HOLD 39#define QUICK_TAP_TERM 0
diff --git a/keyboards/ferris/keymaps/default/config.h b/keyboards/ferris/keymaps/default/config.h
index 1937b64ffa..b10555bb0d 100644
--- a/keyboards/ferris/keymaps/default/config.h
+++ b/keyboards/ferris/keymaps/default/config.h
@@ -36,7 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
36#define TAPPING_TERM 200 36#define TAPPING_TERM 200
37#define PERMISSIVE_HOLD 37#define PERMISSIVE_HOLD
38#define IGNORE_MOD_TAP_INTERRUPT 38#define IGNORE_MOD_TAP_INTERRUPT
39#define TAPPING_FORCE_HOLD 39#define QUICK_TAP_TERM 0
40 40
41// Underglow configuration 41// Underglow configuration
42#ifdef RGBLIGHT_ENABLE 42#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/ferris/keymaps/pierrec83/config.h b/keyboards/ferris/keymaps/pierrec83/config.h
index 1937b64ffa..b10555bb0d 100644
--- a/keyboards/ferris/keymaps/pierrec83/config.h
+++ b/keyboards/ferris/keymaps/pierrec83/config.h
@@ -36,7 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
36#define TAPPING_TERM 200 36#define TAPPING_TERM 200
37#define PERMISSIVE_HOLD 37#define PERMISSIVE_HOLD
38#define IGNORE_MOD_TAP_INTERRUPT 38#define IGNORE_MOD_TAP_INTERRUPT
39#define TAPPING_FORCE_HOLD 39#define QUICK_TAP_TERM 0
40 40
41// Underglow configuration 41// Underglow configuration
42#ifdef RGBLIGHT_ENABLE 42#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/gl516/a52gl/keymaps/salicylic/config.h b/keyboards/gl516/a52gl/keymaps/salicylic/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/gl516/a52gl/keymaps/salicylic/config.h
+++ b/keyboards/gl516/a52gl/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
index b0360ac95d..0f71fedd0e 100644
--- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
+++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
@@ -18,7 +18,7 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
24#ifdef RGBLED_NUM 24#ifdef RGBLED_NUM
diff --git a/keyboards/gl516/n51gl/keymaps/salicylic/config.h b/keyboards/gl516/n51gl/keymaps/salicylic/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/gl516/n51gl/keymaps/salicylic/config.h
+++ b/keyboards/gl516/n51gl/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/gl516/n51gl/keymaps/via/config.h b/keyboards/gl516/n51gl/keymaps/via/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/gl516/n51gl/keymaps/via/config.h
+++ b/keyboards/gl516/n51gl/keymaps/via/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/handwired/aranck/keymaps/turkishish/config.h b/keyboards/handwired/aranck/keymaps/turkishish/config.h
index 0810a3b23f..69c1beb03c 100644
--- a/keyboards/handwired/aranck/keymaps/turkishish/config.h
+++ b/keyboards/handwired/aranck/keymaps/turkishish/config.h
@@ -21,4 +21,4 @@
21#define RETRO_TAPPING 21#define RETRO_TAPPING
22#define PERMISSIVE_HOLD 22#define PERMISSIVE_HOLD
23#define IGNORE_MOD_TAP_INTERRUPT 23#define IGNORE_MOD_TAP_INTERRUPT
24#define TAPPING_FORCE_HOLD \ No newline at end of file 24#define QUICK_TAP_TERM 0 \ No newline at end of file
diff --git a/keyboards/handwired/brain/config.h b/keyboards/handwired/brain/config.h
index 317d25f5f5..9aba789cc2 100644
--- a/keyboards/handwired/brain/config.h
+++ b/keyboards/handwired/brain/config.h
@@ -93,7 +93,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
93 93
94//#define TAPPING_TERM 150 94//#define TAPPING_TERM 150
95//#define IGNORE_MOD_TAP_INTERRUPT 95//#define IGNORE_MOD_TAP_INTERRUPT
96//#define TAPPING_FORCE_HOLD 96//#define QUICK_TAP_TERM 0
97 97
98#define BOOTMAGIC_LITE_ROW 0 98#define BOOTMAGIC_LITE_ROW 0
99#define BOOTMAGIC_LITE_COLUMN 6 99#define BOOTMAGIC_LITE_COLUMN 6
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h
index 1e6e6e58c6..b8df581b72 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/config.h
@@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#define TAPPING_TERM_PER_KEY // milliseconds from tap to hold for mod tap per key 27#define TAPPING_TERM_PER_KEY // milliseconds from tap to hold for mod tap per key
28#define IGNORE_MOD_TAP_INTERRUPT // ignore hold mod if another tap occurs within tapping term 28#define IGNORE_MOD_TAP_INTERRUPT // ignore hold mod if another tap occurs within tapping term
29#define PERMISSIVE_HOLD_PER_KEY // activate mod top hold earlier if another key is pressed AND released per key 29#define PERMISSIVE_HOLD_PER_KEY // activate mod top hold earlier if another key is pressed AND released per key
30#define TAPPING_FORCE_HOLD_PER_KEY // disable double tap hold key repeat per key 30#define QUICK_TAP_TERM_PER_KEY // disable double tap hold key repeat per key
31#undef MOUSEKEY_INTERVAL 31#undef MOUSEKEY_INTERVAL
32#undef MOUSEKEY_DELAY 32#undef MOUSEKEY_DELAY
33#undef MOUSEKEY_TIME_TO_MAX 33#undef MOUSEKEY_TIME_TO_MAX
diff --git a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c
index b5a8c82c4a..7df7897ae9 100644
--- a/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/dlford/keymap.c
@@ -55,15 +55,15 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
55} 55}
56 56
57// Tapping force hold per key 57// Tapping force hold per key
58bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 58uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
59 switch (keycode) { 59 switch (keycode) {
60 case LT(3, KC_SPC): 60 case LT(3, KC_SPC):
61 return true; // Enable force hold 61 return 0; // Enable force hold
62 case LT(2, KC_TAB): 62 case LT(2, KC_TAB):
63 return true; 63 return 0;
64 default: 64 default:
65 return false; // Disable force hold 65 return QUICK_TAP_TERM; // Disable force hold
66 } 66 }
67} 67}
68 68
69// Tapping term per key 69// Tapping term per key
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h
index 5a94cd1760..7b43dcb5d4 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h
@@ -51,6 +51,6 @@
51#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY 51#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
52 52
53// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 53// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
54#define TAPPING_FORCE_HOLD 54#define QUICK_TAP_TERM 0
55 55
56#define FORCE_NKRO 56#define FORCE_NKRO
diff --git a/keyboards/handwired/heisenberg/keymaps/turkishish/config.h b/keyboards/handwired/heisenberg/keymaps/turkishish/config.h
index 0810a3b23f..69c1beb03c 100644
--- a/keyboards/handwired/heisenberg/keymaps/turkishish/config.h
+++ b/keyboards/handwired/heisenberg/keymaps/turkishish/config.h
@@ -21,4 +21,4 @@
21#define RETRO_TAPPING 21#define RETRO_TAPPING
22#define PERMISSIVE_HOLD 22#define PERMISSIVE_HOLD
23#define IGNORE_MOD_TAP_INTERRUPT 23#define IGNORE_MOD_TAP_INTERRUPT
24#define TAPPING_FORCE_HOLD \ No newline at end of file 24#define QUICK_TAP_TERM 0 \ No newline at end of file
diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h
index fadb3fe204..3e3eacdaa5 100644
--- a/keyboards/helix/pico/config.h
+++ b/keyboards/helix/pico/config.h
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20#pragma once 20#pragma once
21 21
22#define TAPPING_FORCE_HOLD 22#define QUICK_TAP_TERM 0
23#define TAPPING_TERM 100 23#define TAPPING_TERM 100
24 24
25/* Soft Serial defines */ 25/* Soft Serial defines */
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index f409d039c4..460dce69e5 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20#pragma once 20#pragma once
21 21
22#define TAPPING_FORCE_HOLD 22#define QUICK_TAP_TERM 0
23#define TAPPING_TERM 100 23#define TAPPING_TERM 100
24 24
25#define SPLIT_LAYER_STATE_ENABLE 25#define SPLIT_LAYER_STATE_ENABLE
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/config.h b/keyboards/helix/rev2/keymaps/edvorakjp/config.h
index ca3b73aa29..6854249be0 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/config.h
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/config.h
@@ -2,7 +2,7 @@
2 2
3#define SWAP_SCLN 3#define SWAP_SCLN
4 4
5#undef TAPPING_FORCE_HOLD 5#undef QUICK_TAP_TERM
6#undef TAPPING_TERM 6#undef TAPPING_TERM
7#define TAPPING_TERM 300 7#define TAPPING_TERM 300
8#define IGNORE_MOD_TAP_INTERRUPT 8#define IGNORE_MOD_TAP_INTERRUPT
@@ -11,13 +11,13 @@
11 11
12// Selection of RGBLIGHT MODE to use. 12// Selection of RGBLIGHT MODE to use.
13#if defined(LED_ANIMATIONS) 13#if defined(LED_ANIMATIONS)
14//# define RGBLIGHT_EFFECT_BREATHING 14// # define RGBLIGHT_EFFECT_BREATHING
15//# define RGBLIGHT_EFFECT_RAINBOW_MOOD 15// # define RGBLIGHT_EFFECT_RAINBOW_MOOD
16//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL 16// # define RGBLIGHT_EFFECT_RAINBOW_SWIRL
17//# define RGBLIGHT_EFFECT_SNAKE 17// # define RGBLIGHT_EFFECT_SNAKE
18//# define RGBLIGHT_EFFECT_KNIGHT 18// # define RGBLIGHT_EFFECT_KNIGHT
19//# define RGBLIGHT_EFFECT_CHRISTMAS 19// # define RGBLIGHT_EFFECT_CHRISTMAS
20# define RGBLIGHT_EFFECT_STATIC_GRADIENT 20# define RGBLIGHT_EFFECT_STATIC_GRADIENT
21//# define RGBLIGHT_EFFECT_RGB_TEST 21// # define RGBLIGHT_EFFECT_RGB_TEST
22//# define RGBLIGHT_EFFECT_ALTERNATING 22// # define RGBLIGHT_EFFECT_ALTERNATING
23#endif // LED_ANIMATIONS 23#endif // LED_ANIMATIONS
diff --git a/keyboards/hidtech/bastyl/keymaps/xyverz/config.h b/keyboards/hidtech/bastyl/keymaps/xyverz/config.h
index d7baf99376..335f968e2a 100644
--- a/keyboards/hidtech/bastyl/keymaps/xyverz/config.h
+++ b/keyboards/hidtech/bastyl/keymaps/xyverz/config.h
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25// #define MASTER_RIGHT 25// #define MASTER_RIGHT
26#define EE_HANDS 26#define EE_HANDS
27 27
28#define TAPPING_FORCE_HOLD 28#define QUICK_TAP_TERM 0
29#define TAPPING_TERM 300 29#define TAPPING_TERM 300
30#define PERMISSIVE_HOLD 30#define PERMISSIVE_HOLD
31#define IGNORE_MOD_TAP_INTERRUPT 31#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/keebio/iris/keymaps/jhelvy/config.h b/keyboards/keebio/iris/keymaps/jhelvy/config.h
index c019234732..7ec5b41761 100644
--- a/keyboards/keebio/iris/keymaps/jhelvy/config.h
+++ b/keyboards/keebio/iris/keymaps/jhelvy/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20// Had to swap the master to get the right-side rotary encoder supported 20// Had to swap the master to get the right-side rotary encoder supported
21#define MASTER_RIGHT 21#define MASTER_RIGHT
22 22
23#define TAPPING_FORCE_HOLD 23#define QUICK_TAP_TERM 0
24#undef TAPPING_TERM 24#undef TAPPING_TERM
25#define TAPPING_TERM 200 25#define TAPPING_TERM 200
26#define AUTO_SHIFT_TIMEOUT 150 26#define AUTO_SHIFT_TIMEOUT 150
diff --git a/keyboards/keebio/iris/keymaps/osiris/config.h b/keyboards/keebio/iris/keymaps/osiris/config.h
index 225a858131..eac14a7246 100644
--- a/keyboards/keebio/iris/keymaps/osiris/config.h
+++ b/keyboards/keebio/iris/keymaps/osiris/config.h
@@ -37,6 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
37#define RGBLIGHT_VAL_STEP 8 37#define RGBLIGHT_VAL_STEP 8
38 38
39// #undef PERMISSIVE_HOLD 39// #undef PERMISSIVE_HOLD
40//#define TAPPING_FORCE_HOLD 40//#define QUICK_TAP_TERM 0
41//#define RETRO_TAPPING 41//#define RETRO_TAPPING
42#define PERMISSIVE_HOLD 42#define PERMISSIVE_HOLD
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
index 7618683d10..a6a97d5b76 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
@@ -12,7 +12,7 @@
12#define IGNORE_MOD_TAP_INTERRUPT 12#define IGNORE_MOD_TAP_INTERRUPT
13 13
14// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 14// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
15#define TAPPING_FORCE_HOLD 15#define QUICK_TAP_TERM 0
16 16
17// Mouse key speed and acceleration. 17// Mouse key speed and acceleration.
18#undef MOUSEKEY_DELAY 18#undef MOUSEKEY_DELAY
diff --git a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
index cbadc54901..9d566d388d 100644
--- a/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
+++ b/keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
@@ -23,7 +23,7 @@
23#define IGNORE_MOD_TAP_INTERRUPT 23#define IGNORE_MOD_TAP_INTERRUPT
24 24
25// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 25// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
26#define TAPPING_FORCE_HOLD 26#define QUICK_TAP_TERM 0
27 27
28// Auto Shift 28// Auto Shift
29#define NO_AUTO_SHIFT_ALPHA 29#define NO_AUTO_SHIFT_ALPHA
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
index e464db1e36..c1f1a06a33 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/keymaps/peepeetee/config.h
@@ -44,7 +44,7 @@
44// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle 44// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
45// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details 45// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
46// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details 46// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
47// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 47// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
48// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. 48// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
49// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall 49// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
50// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. 50// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
diff --git a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
index 6062ebbbbb..be172a8cf6 100644
--- a/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
+++ b/keyboards/kprepublic/bm80hsrgb/keymaps/peepeetee/config.h
@@ -29,7 +29,7 @@
29// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle 29// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
30// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details 30// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
31// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details 31// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
32// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 32// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
33// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. 33// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
34// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall 34// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
35// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. 35// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
diff --git a/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h b/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h
index c525cff819..3be7f6f0cb 100644
--- a/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h
+++ b/keyboards/kprepublic/jj40/keymaps/stevexyz/config.h
@@ -11,7 +11,7 @@
11#define IGNORE_MOD_TAP_INTERRUPT 11#define IGNORE_MOD_TAP_INTERRUPT
12 // makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. 12 // makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys.
13 13
14#define TAPPING_FORCE_HOLD 14#define QUICK_TAP_TERM 0
15 // makes it possible to use a dual role key as modifier shortly after having been tapped (see Hold after tap) 15 // makes it possible to use a dual role key as modifier shortly after having been tapped (see Hold after tap)
16 // Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 16 // Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
17 17
diff --git a/keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h b/keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h
index 09248850f2..e5d0aa6699 100644
--- a/keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h
+++ b/keyboards/lily58/keymaps/bongocat_wpm_responsive/config.h
@@ -28,7 +28,7 @@
28 #define MASTER_LEFT 28 #define MASTER_LEFT
29 // #define EE_HANDS 29 // #define EE_HANDS
30 30
31 #define TAPPING_FORCE_HOLD 31 #define QUICK_TAP_TERM 0
32 #define TAPPING_TERM 200 32 #define TAPPING_TERM 200
33 33
34 #undef RGBLED_NUM 34 #undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/chuan/config.h b/keyboards/lily58/keymaps/chuan/config.h
index 7d989ba42e..d952ce457b 100644
--- a/keyboards/lily58/keymaps/chuan/config.h
+++ b/keyboards/lily58/keymaps/chuan/config.h
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32 32
33// #define SSD1306OLED 33// #define SSD1306OLED
34 34
35#define TAPPING_FORCE_HOLD 35#define QUICK_TAP_TERM 0
36 36
37/* define tapping term */ 37/* define tapping term */
38#define TAPPING_TERM 200 38#define TAPPING_TERM 200
diff --git a/keyboards/lily58/keymaps/datadavd/config.h b/keyboards/lily58/keymaps/datadavd/config.h
index 83bbfff11f..19b372e569 100644
--- a/keyboards/lily58/keymaps/datadavd/config.h
+++ b/keyboards/lily58/keymaps/datadavd/config.h
@@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30 30
31// #define SSD1306OLED 31// #define SSD1306OLED
32 32
33#define TAPPING_FORCE_HOLD 33#define QUICK_TAP_TERM 0
34#define TAPPING_TERM 50 34#define TAPPING_TERM 50
35 35
36#undef RGBLED_NUM 36#undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/default/config.h b/keyboards/lily58/keymaps/default/config.h
index 79b1314456..b16e63b6d7 100644
--- a/keyboards/lily58/keymaps/default/config.h
+++ b/keyboards/lily58/keymaps/default/config.h
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26// #define MASTER_RIGHT 26// #define MASTER_RIGHT
27// #define EE_HANDS 27// #define EE_HANDS
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30#define TAPPING_TERM 100 30#define TAPPING_TERM 100
31 31
32#undef RGBLED_NUM 32#undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/domnantas/config.h b/keyboards/lily58/keymaps/domnantas/config.h
index f32a066c14..143a950ef2 100644
--- a/keyboards/lily58/keymaps/domnantas/config.h
+++ b/keyboards/lily58/keymaps/domnantas/config.h
@@ -30,5 +30,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30 30
31// #define SSD1306OLED 31// #define SSD1306OLED
32 32
33#define TAPPING_FORCE_HOLD 33#define QUICK_TAP_TERM 0
34#define TAPPING_TERM 100 34#define TAPPING_TERM 100
diff --git a/keyboards/lily58/keymaps/drasbeck/config.h b/keyboards/lily58/keymaps/drasbeck/config.h
index f510f7f735..01ba4faf73 100644
--- a/keyboards/lily58/keymaps/drasbeck/config.h
+++ b/keyboards/lily58/keymaps/drasbeck/config.h
@@ -24,7 +24,7 @@ Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 2020 Max Drasbeck
24#define ENCODERS_PAD_B { F5 } 24#define ENCODERS_PAD_B { F5 }
25#define ENCODER_RESOLUTION 4 25#define ENCODER_RESOLUTION 4
26 26
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28#define TAPPING_TERM 180 28#define TAPPING_TERM 180
29 29
30#undef RGBLED_NUM 30#undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/gaston/config.h b/keyboards/lily58/keymaps/gaston/config.h
index 621a0a9295..988e3eb6f8 100644
--- a/keyboards/lily58/keymaps/gaston/config.h
+++ b/keyboards/lily58/keymaps/gaston/config.h
@@ -22,5 +22,5 @@
22 22
23#define MASTER_LEFT 23#define MASTER_LEFT
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 150 /* ms */ 26#define TAPPING_TERM 150 /* ms */
diff --git a/keyboards/lily58/keymaps/gshmu/config.h b/keyboards/lily58/keymaps/gshmu/config.h
index 08234a4d4b..84a79412da 100644
--- a/keyboards/lily58/keymaps/gshmu/config.h
+++ b/keyboards/lily58/keymaps/gshmu/config.h
@@ -17,7 +17,7 @@
17#pragma once 17#pragma once
18 18
19#define TAPPING_TERM 200 19#define TAPPING_TERM 200
20#define TAPPING_FORCE_HOLD 20#define QUICK_TAP_TERM 0
21#define PERMISSIVE_HOLD 21#define PERMISSIVE_HOLD
22 22
23#define DYNAMIC_TAPPING_TERM_INCREMENT 10 23#define DYNAMIC_TAPPING_TERM_INCREMENT 10
diff --git a/keyboards/lily58/keymaps/jhelvy/config.h b/keyboards/lily58/keymaps/jhelvy/config.h
index 4d4df5b102..dbd058a8b5 100644
--- a/keyboards/lily58/keymaps/jhelvy/config.h
+++ b/keyboards/lily58/keymaps/jhelvy/config.h
@@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30 30
31#define SSD1306OLED 31#define SSD1306OLED
32 32
33#define TAPPING_FORCE_HOLD 33#define QUICK_TAP_TERM 0
34#undef TAPPING_TERM 34#undef TAPPING_TERM
35#define TAPPING_TERM 200 35#define TAPPING_TERM 200
36 36
diff --git a/keyboards/lily58/keymaps/mikefightsbears/config.h b/keyboards/lily58/keymaps/mikefightsbears/config.h
index 454f52c868..084b95d52f 100644
--- a/keyboards/lily58/keymaps/mikefightsbears/config.h
+++ b/keyboards/lily58/keymaps/mikefightsbears/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 100 32#define TAPPING_TERM 100
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/muppetjones/config.h b/keyboards/lily58/keymaps/muppetjones/config.h
index bee5ee45da..283a4ed890 100644
--- a/keyboards/lily58/keymaps/muppetjones/config.h
+++ b/keyboards/lily58/keymaps/muppetjones/config.h
@@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
35#define IGNORE_MOD_TAP_INTERRUPT 35#define IGNORE_MOD_TAP_INTERRUPT
36 36
37// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 37// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
38#define TAPPING_FORCE_HOLD 38#define QUICK_TAP_TERM 0
39 39
40#undef RGBLED_NUM 40#undef RGBLED_NUM
41 41
diff --git a/keyboards/lily58/keymaps/narze/config.h b/keyboards/lily58/keymaps/narze/config.h
index e10c2bb380..a6fac1a58b 100644
--- a/keyboards/lily58/keymaps/narze/config.h
+++ b/keyboards/lily58/keymaps/narze/config.h
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
34#define IGNORE_MOD_TAP_INTERRUPT 34#define IGNORE_MOD_TAP_INTERRUPT
35#define PERMISSIVE_HOLD 35#define PERMISSIVE_HOLD
36 36
37#define TAPPING_FORCE_HOLD 37#define QUICK_TAP_TERM 0
38#define TAPPING_TERM 100 38#define TAPPING_TERM 100
39 39
40#undef RGBLED_NUM 40#undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/ninjonas/config.h b/keyboards/lily58/keymaps/ninjonas/config.h
index d67ac41a17..9c97dc9e3f 100644
--- a/keyboards/lily58/keymaps/ninjonas/config.h
+++ b/keyboards/lily58/keymaps/ninjonas/config.h
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26// #define MASTER_RIGHT 26// #define MASTER_RIGHT
27// #define EE_HANDS 27// #define EE_HANDS
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30 30
31#define OLED_FONT_H "keyboards/lily58/lib/glcdfont.c" 31#define OLED_FONT_H "keyboards/lily58/lib/glcdfont.c"
32#define OLED_DISABLE_TIMEOUT 32#define OLED_DISABLE_TIMEOUT
diff --git a/keyboards/lily58/keymaps/pttbx/config.h b/keyboards/lily58/keymaps/pttbx/config.h
index 79b1314456..b16e63b6d7 100644
--- a/keyboards/lily58/keymaps/pttbx/config.h
+++ b/keyboards/lily58/keymaps/pttbx/config.h
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26// #define MASTER_RIGHT 26// #define MASTER_RIGHT
27// #define EE_HANDS 27// #define EE_HANDS
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30#define TAPPING_TERM 100 30#define TAPPING_TERM 100
31 31
32#undef RGBLED_NUM 32#undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/via/config.h b/keyboards/lily58/keymaps/via/config.h
index a5dfe7c8d3..331521bcbf 100644
--- a/keyboards/lily58/keymaps/via/config.h
+++ b/keyboards/lily58/keymaps/via/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 100 32#define TAPPING_TERM 100
33 33
34// Underglow 34// Underglow
diff --git a/keyboards/lily58/keymaps/yshrsmz/config.h b/keyboards/lily58/keymaps/yshrsmz/config.h
index 454f52c868..084b95d52f 100644
--- a/keyboards/lily58/keymaps/yshrsmz/config.h
+++ b/keyboards/lily58/keymaps/yshrsmz/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28// #define MASTER_RIGHT 28// #define MASTER_RIGHT
29// #define EE_HANDS 29// #define EE_HANDS
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 100 32#define TAPPING_TERM 100
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/lily58/keymaps/yuchi/config.h b/keyboards/lily58/keymaps/yuchi/config.h
index 1335b805cd..8e07ec837f 100644
--- a/keyboards/lily58/keymaps/yuchi/config.h
+++ b/keyboards/lily58/keymaps/yuchi/config.h
@@ -30,5 +30,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30 30
31//#define OLED_DRIVER 31//#define OLED_DRIVER
32 32
33#define TAPPING_FORCE_HOLD 33#define QUICK_TAP_TERM 0
34#define TAPPING_TERM 100 34#define TAPPING_TERM 100
diff --git a/keyboards/malevolti/lyra/keymaps/default/config.h b/keyboards/malevolti/lyra/keymaps/default/config.h
index 9c4bacd36d..3e8db641e1 100644
--- a/keyboards/malevolti/lyra/keymaps/default/config.h
+++ b/keyboards/malevolti/lyra/keymaps/default/config.h
@@ -26,5 +26,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26// #define MASTER_RIGHT 26// #define MASTER_RIGHT
27// #define EE_HANDS 27// #define EE_HANDS
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30#define TAPPING_TERM 100 30#define TAPPING_TERM 100
diff --git a/keyboards/malevolti/lyra/keymaps/via/config.h b/keyboards/malevolti/lyra/keymaps/via/config.h
index 9c4bacd36d..3e8db641e1 100644
--- a/keyboards/malevolti/lyra/keymaps/via/config.h
+++ b/keyboards/malevolti/lyra/keymaps/via/config.h
@@ -26,5 +26,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26// #define MASTER_RIGHT 26// #define MASTER_RIGHT
27// #define EE_HANDS 27// #define EE_HANDS
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30#define TAPPING_TERM 100 30#define TAPPING_TERM 100
diff --git a/keyboards/malevolti/superlyra/keymaps/default/config.h b/keyboards/malevolti/superlyra/keymaps/default/config.h
index bbdf47463f..7f20fea8be 100644
--- a/keyboards/malevolti/superlyra/keymaps/default/config.h
+++ b/keyboards/malevolti/superlyra/keymaps/default/config.h
@@ -22,5 +22,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22 22
23 23
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 100 26#define TAPPING_TERM 100
diff --git a/keyboards/malevolti/superlyra/keymaps/via/config.h b/keyboards/malevolti/superlyra/keymaps/via/config.h
index bbdf47463f..7f20fea8be 100644
--- a/keyboards/malevolti/superlyra/keymaps/via/config.h
+++ b/keyboards/malevolti/superlyra/keymaps/via/config.h
@@ -22,5 +22,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22 22
23 23
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 100 26#define TAPPING_TERM 100
diff --git a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h
index 0cd6c2b994..0bb532c663 100644
--- a/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h
+++ b/keyboards/maple_computing/minidox/keymaps/dustypomerleau/config.h
@@ -10,9 +10,9 @@
10// optional configuration: 10// optional configuration:
11 11
12// #define CONVERT_TO_PROTON_C 12// #define CONVERT_TO_PROTON_C
13// #define ONESHOT_TAP_TOGGLE 2 // not compatible with TAPPING_FORCE_HOLD 13// #define ONESHOT_TAP_TOGGLE 2 // not compatible with QUICK_TAP_TERM 0
14// #define PERMISSIVE_HOLD 14// #define PERMISSIVE_HOLD
15// #define TAPPING_FORCE_HOLD // allows rapid mod use after tap event, but sacrifices double-tap to repeat 15// #define QUICK_TAP_TERM 0 // allows rapid mod use after tap event, but sacrifices double-tap to repeat
16 16
17// #define MOUSEKEY_DELAY 0 // delay before cursor movement (high feels sluggish, low makes fine movement difficult) 17// #define MOUSEKEY_DELAY 0 // delay before cursor movement (high feels sluggish, low makes fine movement difficult)
18// #define MOUSEKEY_INTERVAL 20 // time between movement reports - low settings feel like high mouse speed 18// #define MOUSEKEY_INTERVAL 20 // time between movement reports - low settings feel like high mouse speed
diff --git a/keyboards/massdrop/alt/keymaps/b_/config.h b/keyboards/massdrop/alt/keymaps/b_/config.h
index 7dec786b79..8f06c0dd34 100644
--- a/keyboards/massdrop/alt/keymaps/b_/config.h
+++ b/keyboards/massdrop/alt/keymaps/b_/config.h
@@ -32,7 +32,7 @@
32// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle 32// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
33// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details 33// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
34// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details 34// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
35// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 35// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
36// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. 36// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
37// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall 37// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
38// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. 38// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h
index 90892cc802..83f0d13bd5 100644
--- a/keyboards/massdrop/alt/keymaps/pregame/config.h
+++ b/keyboards/massdrop/alt/keymaps/pregame/config.h
@@ -45,7 +45,7 @@
45// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle 45// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
46// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details 46// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
47// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details 47// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
48// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 48// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
49// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. 49// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
50// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall 50// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
51// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. 51// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h
index 1a7c77b90e..8584c07a5d 100644
--- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/endgame/config.h
@@ -29,7 +29,7 @@
29#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle 29#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
30// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details 30// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
31// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details 31// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
32// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 32// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
33// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. 33// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
34// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall 34// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
35// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. 35// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
index deb40efb7d..b975b7895b 100644
--- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
@@ -47,7 +47,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle 47// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
48// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details 48// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
49// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details 49// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
50// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 50// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
51// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. 51// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
52// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall 52// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
53// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. 53// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
index 767fbaffca..87db7fe8ea 100644
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/xanimos/config.h
@@ -45,7 +45,7 @@
45#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle 45#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
46// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details 46// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
47// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details 47// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
48// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle) 48// #define QUICK_TAP_TERM 0 // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
49// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. 49// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
50// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall 50// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
51// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A. 51// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
diff --git a/keyboards/obosob/steal_this_keyboard/keymaps/default/config.h b/keyboards/obosob/steal_this_keyboard/keymaps/default/config.h
index 14ec0792b1..3e3ba7a401 100644
--- a/keyboards/obosob/steal_this_keyboard/keymaps/default/config.h
+++ b/keyboards/obosob/steal_this_keyboard/keymaps/default/config.h
@@ -36,4 +36,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
36#define TAPPING_TERM 200 36#define TAPPING_TERM 200
37#define PERMISSIVE_HOLD 37#define PERMISSIVE_HOLD
38#define IGNORE_MOD_TAP_INTERRUPT 38#define IGNORE_MOD_TAP_INTERRUPT
39#define TAPPING_FORCE_HOLD 39#define QUICK_TAP_TERM 0
diff --git a/keyboards/palette1202/keymaps/default/config.h b/keyboards/palette1202/keymaps/default/config.h
index a5bb9bbfc8..3ec3b391d4 100644
--- a/keyboards/palette1202/keymaps/default/config.h
+++ b/keyboards/palette1202/keymaps/default/config.h
@@ -16,5 +16,5 @@
16 16
17#pragma once 17#pragma once
18 18
19#define TAPPING_FORCE_HOLD 19#define QUICK_TAP_TERM 0
20#define TAPPING_TERM 100 20#define TAPPING_TERM 100
diff --git a/keyboards/pierce/keymaps/durken1/config.h b/keyboards/pierce/keymaps/durken1/config.h
index 7c9970c5a9..7049a692ed 100644
--- a/keyboards/pierce/keymaps/durken1/config.h
+++ b/keyboards/pierce/keymaps/durken1/config.h
@@ -23,7 +23,7 @@
23#define IGNORE_MOD_TAP_INTERRUPT 23#define IGNORE_MOD_TAP_INTERRUPT
24 24
25// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 25// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
26#define TAPPING_FORCE_HOLD 26#define QUICK_TAP_TERM 0
27 27
28#define PERMISSIVE_HOLD 28#define PERMISSIVE_HOLD
29 29
diff --git a/keyboards/pinky/3/keymaps/default/config.h b/keyboards/pinky/3/keymaps/default/config.h
index 63e8168b47..3671c13a38 100644
--- a/keyboards/pinky/3/keymaps/default/config.h
+++ b/keyboards/pinky/3/keymaps/default/config.h
@@ -24,6 +24,6 @@
24// #define MASTER_RIGHT 24// #define MASTER_RIGHT
25// #define EE_HANDS 25// #define EE_HANDS
26 26
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28#define TAPPING_TERM 200 28#define TAPPING_TERM 200
29#define RETRO_TAPPPING 29#define RETRO_TAPPPING
diff --git a/keyboards/pinky/3/keymaps/ninjonas/config.h b/keyboards/pinky/3/keymaps/ninjonas/config.h
index 63e8168b47..3671c13a38 100644
--- a/keyboards/pinky/3/keymaps/ninjonas/config.h
+++ b/keyboards/pinky/3/keymaps/ninjonas/config.h
@@ -24,6 +24,6 @@
24// #define MASTER_RIGHT 24// #define MASTER_RIGHT
25// #define EE_HANDS 25// #define EE_HANDS
26 26
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28#define TAPPING_TERM 200 28#define TAPPING_TERM 200
29#define RETRO_TAPPPING 29#define RETRO_TAPPPING
diff --git a/keyboards/pinky/3/keymaps/via/config.h b/keyboards/pinky/3/keymaps/via/config.h
index 63e8168b47..3671c13a38 100644
--- a/keyboards/pinky/3/keymaps/via/config.h
+++ b/keyboards/pinky/3/keymaps/via/config.h
@@ -24,6 +24,6 @@
24// #define MASTER_RIGHT 24// #define MASTER_RIGHT
25// #define EE_HANDS 25// #define EE_HANDS
26 26
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28#define TAPPING_TERM 200 28#define TAPPING_TERM 200
29#define RETRO_TAPPPING 29#define RETRO_TAPPPING
diff --git a/keyboards/pinky/4/keymaps/default/config.h b/keyboards/pinky/4/keymaps/default/config.h
index 63e8168b47..3671c13a38 100644
--- a/keyboards/pinky/4/keymaps/default/config.h
+++ b/keyboards/pinky/4/keymaps/default/config.h
@@ -24,6 +24,6 @@
24// #define MASTER_RIGHT 24// #define MASTER_RIGHT
25// #define EE_HANDS 25// #define EE_HANDS
26 26
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28#define TAPPING_TERM 200 28#define TAPPING_TERM 200
29#define RETRO_TAPPPING 29#define RETRO_TAPPPING
diff --git a/keyboards/pinky/4/keymaps/via/config.h b/keyboards/pinky/4/keymaps/via/config.h
index 63e8168b47..3671c13a38 100644
--- a/keyboards/pinky/4/keymaps/via/config.h
+++ b/keyboards/pinky/4/keymaps/via/config.h
@@ -24,6 +24,6 @@
24// #define MASTER_RIGHT 24// #define MASTER_RIGHT
25// #define EE_HANDS 25// #define EE_HANDS
26 26
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28#define TAPPING_TERM 200 28#define TAPPING_TERM 200
29#define RETRO_TAPPPING 29#define RETRO_TAPPPING
diff --git a/keyboards/planck/keymaps/adamtabrams/config.h b/keyboards/planck/keymaps/adamtabrams/config.h
index 0c275f20c5..8ff86760b4 100644
--- a/keyboards/planck/keymaps/adamtabrams/config.h
+++ b/keyboards/planck/keymaps/adamtabrams/config.h
@@ -35,5 +35,5 @@
35#define PERMISSIVE_HOLD 35#define PERMISSIVE_HOLD
36#define IGNORE_MOD_TAP_INTERRUPT 36#define IGNORE_MOD_TAP_INTERRUPT
37#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY 37#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
38#define TAPPING_FORCE_HOLD 38#define QUICK_TAP_TERM 0
39#define TAPPING_FORCE_HOLD_PER_KEY 39#define QUICK_TAP_TERM_PER_KEY
diff --git a/keyboards/planck/keymaps/adamtabrams/keymap.c b/keyboards/planck/keymaps/adamtabrams/keymap.c
index 3d4aa46963..2203ecd30f 100644
--- a/keyboards/planck/keymaps/adamtabrams/keymap.c
+++ b/keyboards/planck/keymaps/adamtabrams/keymap.c
@@ -229,7 +229,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
229 return true; 229 return true;
230} 230}
231 231
232bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 232uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
233 switch (keycode) { 233 switch (keycode) {
234 case SHFTESC: 234 case SHFTESC:
235 case NUMSPAC: 235 case NUMSPAC:
@@ -249,9 +249,9 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
249 case CTL__J: 249 case CTL__J:
250 case CTL__T: 250 case CTL__T:
251 case CTL__N: 251 case CTL__N:
252 return true; 252 return 0;
253 default: 253 default:
254 return false; 254 return QUICK_TAP_TERM;
255 } 255 }
256} 256}
257 257
diff --git a/keyboards/planck/keymaps/jweickm/config.h b/keyboards/planck/keymaps/jweickm/config.h
index 3b34ddf832..bd34fca202 100644
--- a/keyboards/planck/keymaps/jweickm/config.h
+++ b/keyboards/planck/keymaps/jweickm/config.h
@@ -58,7 +58,7 @@
58#define TAPPING_TERM_PER_KEY 58#define TAPPING_TERM_PER_KEY
59//#define PERMISSIVE_HOLD 59//#define PERMISSIVE_HOLD
60#define IGNORE_MOD_TAP_INTERRUPT 60#define IGNORE_MOD_TAP_INTERRUPT
61#define TAPPING_FORCE_HOLD_PER_KEY 61#define QUICK_TAP_TERM_PER_KEY
62 62
63// settings for LEADER key 63// settings for LEADER key
64#define LEADER_PER_KEY_TIMING 64#define LEADER_PER_KEY_TIMING
diff --git a/keyboards/planck/keymaps/jweickm/keymap.c b/keyboards/planck/keymaps/jweickm/keymap.c
index b2c317f039..1b8b8b28a8 100644
--- a/keyboards/planck/keymaps/jweickm/keymap.c
+++ b/keyboards/planck/keymaps/jweickm/keymap.c
@@ -1039,30 +1039,30 @@ bool music_mask_user(uint16_t keycode) {
1039 } 1039 }
1040} 1040}
1041 1041
1042bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 1042uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
1043 switch (keycode) { 1043 switch (keycode) {
1044 case LSFT_T(KC_S): 1044 case LSFT_T(KC_S):
1045 return true; 1045 return 0;
1046 case RSFT_T(KC_E): 1046 case RSFT_T(KC_E):
1047 return true; 1047 return 0;
1048 case LSFT_T(KC_D): 1048 case LSFT_T(KC_D):
1049 return true; 1049 return 0;
1050 case RSFT_T(KC_K): 1050 case RSFT_T(KC_K):
1051 return true; 1051 return 0;
1052 case LSFT_T(KC_F): 1052 case LSFT_T(KC_F):
1053 return true; 1053 return 0;
1054 case RSFT_T(KC_U): 1054 case RSFT_T(KC_U):
1055 return true; 1055 return 0;
1056 case LT(_RAISE, KC_ENT): 1056 case LT(_RAISE, KC_ENT):
1057 return true; 1057 return 0;
1058 case LT(_RAISE_DE, KC_ENT): 1058 case LT(_RAISE_DE, KC_ENT):
1059 return true; 1059 return 0;
1060 case LT(_LOWER, KC_BSPC): 1060 case LT(_LOWER, KC_BSPC):
1061 return true; 1061 return 0;
1062 case LT(_LOWER_DE, KC_BSPC): 1062 case LT(_LOWER_DE, KC_BSPC):
1063 return true; 1063 return 0;
1064 default: 1064 default:
1065 return false; 1065 return QUICK_TAP_TERM;
1066 } 1066 }
1067} 1067}
1068 1068
diff --git a/keyboards/planck/keymaps/muppetjones/config.h b/keyboards/planck/keymaps/muppetjones/config.h
index 1046d21499..1a05bfc837 100644
--- a/keyboards/planck/keymaps/muppetjones/config.h
+++ b/keyboards/planck/keymaps/muppetjones/config.h
@@ -53,4 +53,4 @@
53#define IGNORE_MOD_TAP_INTERRUPT 53#define IGNORE_MOD_TAP_INTERRUPT
54 54
55// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 55// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
56#define TAPPING_FORCE_HOLD 56#define QUICK_TAP_TERM 0
diff --git a/keyboards/planck/keymaps/rootiest/config.h b/keyboards/planck/keymaps/rootiest/config.h
index 4de638ce29..bdb5cea91b 100644
--- a/keyboards/planck/keymaps/rootiest/config.h
+++ b/keyboards/planck/keymaps/rootiest/config.h
@@ -117,7 +117,7 @@
117 * MACRO per-key options 117 * MACRO per-key options
118 */ 118 */
119#define RETRO_TAPPING_PER_KEY // Control Retro-Tap individually by key 119#define RETRO_TAPPING_PER_KEY // Control Retro-Tap individually by key
120#define TAPPING_FORCE_HOLD_PER_KEY // Control Force-Hold individually by key 120#define QUICK_TAP_TERM_PER_KEY // Control Quick-Tap individually by key
121#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY // Control Mod-Tap-Interrupt individually by key 121#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY // Control Mod-Tap-Interrupt individually by key
122#define PERMISSIVE_HOLD_PER_KEY // Control Permissive-Hold individually by key 122#define PERMISSIVE_HOLD_PER_KEY // Control Permissive-Hold individually by key
123 123
diff --git a/keyboards/planck/keymaps/rootiest/keymap.c b/keyboards/planck/keymaps/rootiest/keymap.c
index 097f313cca..cc43aff673 100644
--- a/keyboards/planck/keymaps/rootiest/keymap.c
+++ b/keyboards/planck/keymaps/rootiest/keymap.c
@@ -1376,11 +1376,11 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t* record) {
1376 return false; 1376 return false;
1377 } 1377 }
1378} 1378}
1379// Handles per-key configuration of Tapping Force-Hold 1379// Handles per-key configuration of Quick-Tap
1380bool get_tapping_force_hold(uint16_t keycode, keyrecord_t* record) { 1380uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) {
1381 switch (keycode) { 1381 switch (keycode) {
1382 default: 1382 default:
1383 return false; 1383 return QUICK_TAP_TERM;
1384 } 1384 }
1385} 1385}
1386// Handles per-key configuration of Permissive-Hold 1386// Handles per-key configuration of Permissive-Hold
diff --git a/keyboards/planck/keymaps/tylerwince/config.h b/keyboards/planck/keymaps/tylerwince/config.h
index 24adad94f3..52c1494a1d 100644
--- a/keyboards/planck/keymaps/tylerwince/config.h
+++ b/keyboards/planck/keymaps/tylerwince/config.h
@@ -12,7 +12,7 @@
12 Set any config.h overrides for your specific keymap here. 12 Set any config.h overrides for your specific keymap here.
13 See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file 13 See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
14*/ 14*/
15#define TAPPING_FORCE_HOLD 15#define QUICK_TAP_TERM 0
16#define IGNORE_MOD_TAP_INTERRUPT 16#define IGNORE_MOD_TAP_INTERRUPT
17 17
18#define EECONFIG_RGB_MATRIX (uint32_t *)16 18#define EECONFIG_RGB_MATRIX (uint32_t *)16
diff --git a/keyboards/projectcain/relic/keymaps/default/config.h b/keyboards/projectcain/relic/keymaps/default/config.h
index 7756a8db2f..ebe839c4c4 100644
--- a/keyboards/projectcain/relic/keymaps/default/config.h
+++ b/keyboards/projectcain/relic/keymaps/default/config.h
@@ -19,5 +19,5 @@
19#define ENCODER_RESOLUTION 2 19#define ENCODER_RESOLUTION 2
20#define COMBO_COUNT 6 20#define COMBO_COUNT 6
21#define COMBO_TERM 50 21#define COMBO_TERM 50
22#define TAPPING_FORCE_HOLD 22#define QUICK_TAP_TERM 0
23#define DISABLE_LEADER 23#define DISABLE_LEADER
diff --git a/keyboards/projectcain/vault35/keymaps/default/config.h b/keyboards/projectcain/vault35/keymaps/default/config.h
index 3022aa84c4..885d5ad9cb 100644
--- a/keyboards/projectcain/vault35/keymaps/default/config.h
+++ b/keyboards/projectcain/vault35/keymaps/default/config.h
@@ -18,4 +18,4 @@
18 18
19#define COMBO_COUNT 2 19#define COMBO_COUNT 2
20#define COMBO_TERM 50 20#define COMBO_TERM 50
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
diff --git a/keyboards/projectcain/vault45/keymaps/default/config.h b/keyboards/projectcain/vault45/keymaps/default/config.h
index 2ca1e8f123..4a98bb89d4 100644
--- a/keyboards/projectcain/vault45/keymaps/default/config.h
+++ b/keyboards/projectcain/vault45/keymaps/default/config.h
@@ -18,4 +18,4 @@
18 18
19#define COMBO_COUNT 2 19#define COMBO_COUNT 2
20#define COMBO_TERM 50 20#define COMBO_TERM 50
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
index 7e3fc2d908..c945db1417 100644
--- a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
+++ b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
@@ -10,7 +10,7 @@
10#pragma once 10#pragma once
11 11
12// Xulkal custom stuff 12// Xulkal custom stuff
13#undef TAPPING_FORCE_HOLD 13#undef QUICK_TAP_TERM
14 14
15#undef TAPPING_TERM 15#undef TAPPING_TERM
16#define TAPPING_TERM 175 16#define TAPPING_TERM 175
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/default/config.h b/keyboards/salicylic_acid3/7skb/keymaps/default/config.h
index 4b3496d856..c2844a6775 100644
--- a/keyboards/salicylic_acid3/7skb/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/7skb/keymaps/default/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h
index cc4a3d4426..09bf50b6ab 100644
--- a/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/7skb/keymaps/salicylic/config.h
@@ -18,6 +18,6 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23//#define MASTER_RIGHT 23//#define MASTER_RIGHT
diff --git a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h
index 81ee8ef785..8a42af5127 100644
--- a/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/7splus/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/7splus/keymaps/via/config.h b/keyboards/salicylic_acid3/7splus/keymaps/via/config.h
index 8a89da2eae..83e6f1b184 100644
--- a/keyboards/salicylic_acid3/7splus/keymaps/via/config.h
+++ b/keyboards/salicylic_acid3/7splus/keymaps/via/config.h
@@ -18,6 +18,6 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23#define DYNAMIC_KEYMAP_LAYER_COUNT 3 23#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/default/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/default/config.h
index 81ee8ef785..8a42af5127 100644
--- a/keyboards/salicylic_acid3/ajisai74/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/ajisai74/keymaps/default/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/jis/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/jis/config.h
index 81ee8ef785..8a42af5127 100644
--- a/keyboards/salicylic_acid3/ajisai74/keymaps/jis/config.h
+++ b/keyboards/salicylic_acid3/ajisai74/keymaps/jis/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h
index 81ee8ef785..8a42af5127 100644
--- a/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/ajisai74/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ajisai74/keymaps/via/config.h b/keyboards/salicylic_acid3/ajisai74/keymaps/via/config.h
index 81ee8ef785..8a42af5127 100644
--- a/keyboards/salicylic_acid3/ajisai74/keymaps/via/config.h
+++ b/keyboards/salicylic_acid3/ajisai74/keymaps/via/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ergoarrows/keymaps/default/config.h b/keyboards/salicylic_acid3/ergoarrows/keymaps/default/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/ergoarrows/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/ergoarrows/keymaps/default/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/ergoarrows/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/ergoarrows/keymaps/via/config.h b/keyboards/salicylic_acid3/ergoarrows/keymaps/via/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/ergoarrows/keymaps/via/config.h
+++ b/keyboards/salicylic_acid3/ergoarrows/keymaps/via/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/getta25/keymaps/default/config.h b/keyboards/salicylic_acid3/getta25/keymaps/default/config.h
index 8c4e1f5129..a79d62d614 100644
--- a/keyboards/salicylic_acid3/getta25/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/getta25/keymaps/default/config.h
@@ -18,7 +18,7 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
24 24
diff --git a/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h b/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h
index be988915c2..23f8b5343f 100644
--- a/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h
+++ b/keyboards/salicylic_acid3/getta25/keymaps/oled/config.h
@@ -18,7 +18,7 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
24#define OLED_FONT_H "keyboards/getta25/keymaps/oled/glcdfont.c" 24#define OLED_FONT_H "keyboards/getta25/keymaps/oled/glcdfont.c"
diff --git a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h
index 81ee8ef785..8a42af5127 100644
--- a/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/jisplit89/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/nafuda/keymaps/default/config.h b/keyboards/salicylic_acid3/nafuda/keymaps/default/config.h
index e35fe2ccd7..1633dcc847 100644
--- a/keyboards/salicylic_acid3/nafuda/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/nafuda/keymaps/default/config.h
@@ -18,6 +18,6 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default/config.h
index 4f3a44d6bb..c3d26106ca 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/default/config.h
@@ -22,5 +22,5 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
index 4d52c01805..12d5784374 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
@@ -22,7 +22,7 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
27 27
28#ifdef RGBLED_NUM 28#ifdef RGBLED_NUM
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
index 7cb5d61e2b..392f2f97e8 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
@@ -22,7 +22,7 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
27 27
28#ifdef RGBLED_NUM 28#ifdef RGBLED_NUM
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h
index e7016c4b78..b8a6b843ce 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic/config.h
@@ -18,7 +18,7 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
24#ifdef RGBLED_NUM 24#ifdef RGBLED_NUM
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h
index 4d52c01805..12d5784374 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_nafuda/config.h
@@ -22,7 +22,7 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
27 27
28#ifdef RGBLED_NUM 28#ifdef RGBLED_NUM
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h
index 7cb5d61e2b..392f2f97e8 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/salicylic_with_setta21/config.h
@@ -22,7 +22,7 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
27 27
28#ifdef RGBLED_NUM 28#ifdef RGBLED_NUM
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/config.h b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/config.h
index 8c11ad6078..1742af4c5c 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/scheiklp/config.h
@@ -5,5 +5,5 @@
5 5
6/* Select hand configuration */ 6/* Select hand configuration */
7 7
8#define TAPPING_FORCE_HOLD 8#define QUICK_TAP_TERM 0
9#define TAPPING_TERM 180 9#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/via/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/via/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
index 6106dc4e3d..21494a0dfd 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
@@ -18,7 +18,7 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
24#ifdef RGBLED_NUM 24#ifdef RGBLED_NUM
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/333fred/config.h b/keyboards/salicylic_acid3/naked60/keymaps/333fred/config.h
index d19e77f044..5cb4da0133 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/333fred/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/333fred/config.h
@@ -20,5 +20,5 @@
20 20
21/* Select hand configuration */ 21/* Select hand configuration */
22 22
23#define TAPPING_FORCE_HOLD 23#define QUICK_TAP_TERM 0
24#define TAPPING_TERM 200 24#define TAPPING_TERM 200
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default/config.h
index 4b3496d856..c2844a6775 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/default/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h
index 603c9ab026..ed08dc121c 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_nafuda/config.h
@@ -22,5 +22,5 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h
index 603c9ab026..ed08dc121c 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/default_with_setta21/config.h
@@ -22,5 +22,5 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h
index 4b3496d856..c2844a6775 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h
index 603c9ab026..ed08dc121c 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_nafuda/config.h
@@ -22,5 +22,5 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h
index 603c9ab026..ed08dc121c 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/salicylic_with_setta21/config.h
@@ -22,5 +22,5 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked60/keymaps/via/config.h b/keyboards/salicylic_acid3/naked60/keymaps/via/config.h
index 32ec5281b2..f90e802882 100644
--- a/keyboards/salicylic_acid3/naked60/keymaps/via/config.h
+++ b/keyboards/salicylic_acid3/naked60/keymaps/via/config.h
@@ -18,6 +18,6 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23#define DYNAMIC_KEYMAP_LAYER_COUNT 3 23#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default/config.h b/keyboards/salicylic_acid3/naked64/keymaps/default/config.h
index 8c4e1f5129..a79d62d614 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/naked64/keymaps/default/config.h
@@ -18,7 +18,7 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
24 24
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
index cba07919ff..73a3019540 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
@@ -22,7 +22,7 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
27 27
28#define RGBLED_NUM 12 // Number of LEDs 28#define RGBLED_NUM 12 // Number of LEDs
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h
index 4b3496d856..c2844a6775 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h
index 603c9ab026..ed08dc121c 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked64/keymaps/salicylic_with_setta21/config.h
@@ -22,5 +22,5 @@
22// #define MASTER_RIGHT 22// #define MASTER_RIGHT
23// #define EE_HANDS 23// #define EE_HANDS
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 180 26#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/default/config.h b/keyboards/salicylic_acid3/nknl7en/keymaps/default/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/nknl7en/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/nknl7en/keymaps/default/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/nknl7en/keymaps/salicylic/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/nknl7en/keymaps/via/config.h b/keyboards/salicylic_acid3/nknl7en/keymaps/via/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/nknl7en/keymaps/via/config.h
+++ b/keyboards/salicylic_acid3/nknl7en/keymaps/via/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/default/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/default/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/nknl7jp/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/default/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
index 6f3b77b0de..d06aae947a 100644
--- a/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/salicylic/config.h
@@ -18,6 +18,6 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE 23#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE
diff --git a/keyboards/salicylic_acid3/nknl7jp/keymaps/via/config.h b/keyboards/salicylic_acid3/nknl7jp/keymaps/via/config.h
index fd96baa819..0e221d844d 100644
--- a/keyboards/salicylic_acid3/nknl7jp/keymaps/via/config.h
+++ b/keyboards/salicylic_acid3/nknl7jp/keymaps/via/config.h
@@ -18,5 +18,5 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
diff --git a/keyboards/salicylic_acid3/setta21/keymaps/default/config.h b/keyboards/salicylic_acid3/setta21/keymaps/default/config.h
index e35fe2ccd7..1633dcc847 100644
--- a/keyboards/salicylic_acid3/setta21/keymaps/default/config.h
+++ b/keyboards/salicylic_acid3/setta21/keymaps/default/config.h
@@ -18,6 +18,6 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h
index 26607eca89..540c819c2b 100644
--- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h
+++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/config.h
@@ -18,7 +18,7 @@
18 18
19/* Select hand configuration */ 19/* Select hand configuration */
20 20
21#define TAPPING_FORCE_HOLD 21#define QUICK_TAP_TERM 0
22#define TAPPING_TERM 180 22#define TAPPING_TERM 180
23 23
24#define RGB_MATRIX_LED_COUNT RGBLED_NUM 24#define RGB_MATRIX_LED_COUNT RGBLED_NUM
diff --git a/keyboards/sofle/keymaps/devdev/config.h b/keyboards/sofle/keymaps/devdev/config.h
index c3694d1292..6564238bba 100644
--- a/keyboards/sofle/keymaps/devdev/config.h
+++ b/keyboards/sofle/keymaps/devdev/config.h
@@ -32,7 +32,7 @@
32#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding 32#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
33 33
34 34
35#define TAPPING_FORCE_HOLD 35#define QUICK_TAP_TERM 0
36#ifdef TAPPING_TERM 36#ifdef TAPPING_TERM
37 #undef TAPPING_TERM 37 #undef TAPPING_TERM
38 #define TAPPING_TERM 200 38 #define TAPPING_TERM 200
diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h
index c3694d1292..6564238bba 100644
--- a/keyboards/sofle/keymaps/rgb_default/config.h
+++ b/keyboards/sofle/keymaps/rgb_default/config.h
@@ -32,7 +32,7 @@
32#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding 32#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
33 33
34 34
35#define TAPPING_FORCE_HOLD 35#define QUICK_TAP_TERM 0
36#ifdef TAPPING_TERM 36#ifdef TAPPING_TERM
37 #undef TAPPING_TERM 37 #undef TAPPING_TERM
38 #define TAPPING_TERM 200 38 #define TAPPING_TERM 200
diff --git a/keyboards/sparrow62/keymaps/74th/config.h b/keyboards/sparrow62/keymaps/74th/config.h
index 15eb08ed7a..e1fae611ce 100644
--- a/keyboards/sparrow62/keymaps/74th/config.h
+++ b/keyboards/sparrow62/keymaps/74th/config.h
@@ -19,5 +19,5 @@
19 19
20/* Select hand configuration */ 20/* Select hand configuration */
21 21
22#define TAPPING_FORCE_HOLD 22#define QUICK_TAP_TERM 0
23#define TAPPING_TERM 180 23#define TAPPING_TERM 180
diff --git a/keyboards/sparrow62/keymaps/default/config.h b/keyboards/sparrow62/keymaps/default/config.h
index 15eb08ed7a..e1fae611ce 100644
--- a/keyboards/sparrow62/keymaps/default/config.h
+++ b/keyboards/sparrow62/keymaps/default/config.h
@@ -19,5 +19,5 @@
19 19
20/* Select hand configuration */ 20/* Select hand configuration */
21 21
22#define TAPPING_FORCE_HOLD 22#define QUICK_TAP_TERM 0
23#define TAPPING_TERM 180 23#define TAPPING_TERM 180
diff --git a/keyboards/sparrow62/keymaps/via/config.h b/keyboards/sparrow62/keymaps/via/config.h
index 15eb08ed7a..e1fae611ce 100644
--- a/keyboards/sparrow62/keymaps/via/config.h
+++ b/keyboards/sparrow62/keymaps/via/config.h
@@ -19,5 +19,5 @@
19 19
20/* Select hand configuration */ 20/* Select hand configuration */
21 21
22#define TAPPING_FORCE_HOLD 22#define QUICK_TAP_TERM 0
23#define TAPPING_TERM 180 23#define TAPPING_TERM 180
diff --git a/keyboards/splitkb/kyria/keymaps/jhelvy/config.h b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h
index 86f3d5b5c3..518c9378e4 100644
--- a/keyboards/splitkb/kyria/keymaps/jhelvy/config.h
+++ b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h
@@ -22,7 +22,7 @@
22 22
23#define ENCODER_RESOLUTION 2 23#define ENCODER_RESOLUTION 2
24 24
25#define TAPPING_FORCE_HOLD 25#define QUICK_TAP_TERM 0
26#define TAPPING_TERM 200 26#define TAPPING_TERM 200
27#define AUTO_SHIFT_TIMEOUT 150 27#define AUTO_SHIFT_TIMEOUT 150
28 28
diff --git a/keyboards/splitkb/kyria/keymaps/muppetjones/config.h b/keyboards/splitkb/kyria/keymaps/muppetjones/config.h
index 92d495be4a..b6351869fe 100644
--- a/keyboards/splitkb/kyria/keymaps/muppetjones/config.h
+++ b/keyboards/splitkb/kyria/keymaps/muppetjones/config.h
@@ -43,7 +43,7 @@
43#define IGNORE_MOD_TAP_INTERRUPT 43#define IGNORE_MOD_TAP_INTERRUPT
44 44
45// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 45// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
46#define TAPPING_FORCE_HOLD 46#define QUICK_TAP_TERM 0
47 47
48// Reduce firmware size 48// Reduce firmware size
49// https://thomasbaart.nl/2018/12/01/reducing-firmware-size-in-qmk/ 49// https://thomasbaart.nl/2018/12/01/reducing-firmware-size-in-qmk/
diff --git a/keyboards/splitkb/kyria/keymaps/ohlin/config.h b/keyboards/splitkb/kyria/keymaps/ohlin/config.h
index 238206a49e..4451ff731c 100644
--- a/keyboards/splitkb/kyria/keymaps/ohlin/config.h
+++ b/keyboards/splitkb/kyria/keymaps/ohlin/config.h
@@ -26,4 +26,4 @@
26// Prevent normal rollover on alphas from accidentally triggering mods. 26// Prevent normal rollover on alphas from accidentally triggering mods.
27#define IGNORE_MOD_TAP_INTERRUPT 27#define IGNORE_MOD_TAP_INTERRUPT
28// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 28// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
29#define TAPPING_FORCE_HOLD \ No newline at end of file 29#define QUICK_TAP_TERM 0
diff --git a/keyboards/splitkb/kyria/keymaps/pierrec83/config.h b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h
index 816dd16312..b4f3f32255 100644
--- a/keyboards/splitkb/kyria/keymaps/pierrec83/config.h
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h
@@ -44,7 +44,7 @@
44#define TAPPING_TERM 200 44#define TAPPING_TERM 200
45#define PERMISSIVE_HOLD 45#define PERMISSIVE_HOLD
46#define IGNORE_MOD_TAP_INTERRUPT 46#define IGNORE_MOD_TAP_INTERRUPT
47#define TAPPING_FORCE_HOLD 47#define QUICK_TAP_TERM 0
48// Allows to use either side as the master. Look at the documentation for info: 48// Allows to use either side as the master. Look at the documentation for info:
49// https://docs.qmk.fm/#/config_options?id=setting-handedness 49// https://docs.qmk.fm/#/config_options?id=setting-handedness
50#define EE_HANDS 50#define EE_HANDS
diff --git a/keyboards/splitkb/kyria/keymaps/winternebs/config.h b/keyboards/splitkb/kyria/keymaps/winternebs/config.h
index 1df48a1f49..f0632e90ae 100755
--- a/keyboards/splitkb/kyria/keymaps/winternebs/config.h
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/config.h
@@ -27,5 +27,5 @@
27#define NO_ACTION_MACRO 27#define NO_ACTION_MACRO
28#define NO_ACTION_FUNCTION 28#define NO_ACTION_FUNCTION
29#define NO_ACTION_ONESHOT 29#define NO_ACTION_ONESHOT
30#define TAPPING_FORCE_HOLD 30#define QUICK_TAP_TERM 0
31#define IGNORE_MOD_TAP_INTERRUPT 31#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/keyboards/splitkb/kyria/keymaps/zigotica/config.h b/keyboards/splitkb/kyria/keymaps/zigotica/config.h
index b59e04474b..8c4e8dfece 100644
--- a/keyboards/splitkb/kyria/keymaps/zigotica/config.h
+++ b/keyboards/splitkb/kyria/keymaps/zigotica/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
24#define TAPPING_TERM 350 24#define TAPPING_TERM 350
25#define PERMISSIVE_HOLD 25#define PERMISSIVE_HOLD
26#define IGNORE_MOD_TAP_INTERRUPT 26#define IGNORE_MOD_TAP_INTERRUPT
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28 28
29#define LEADER_PER_KEY_TIMING 29#define LEADER_PER_KEY_TIMING
30#define LEADER_TIMEOUT 300 30#define LEADER_TIMEOUT 300
diff --git a/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/config.h b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/config.h
index 4ba4a57165..4585f2230b 100644
--- a/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/config.h
+++ b/keyboards/unikeyboard/divergetm2/keymaps/xtonhasvim/config.h
@@ -3,7 +3,7 @@
3// help for fast typist+dual function keys? 3// help for fast typist+dual function keys?
4#define PERMISSIVE_HOLD 4#define PERMISSIVE_HOLD
5// Let me type `ls -l` more quickly. 5// Let me type `ls -l` more quickly.
6#define TAPPING_FORCE_HOLD 6#define QUICK_TAP_TERM 0
7 7
8// where is the cord plugged in? 8// where is the cord plugged in?
9#define MASTER_RIGHT 9#define MASTER_RIGHT
diff --git a/keyboards/yosino58/keymaps/default/config.h b/keyboards/yosino58/keymaps/default/config.h
index 89778175c7..763b31aa10 100644
--- a/keyboards/yosino58/keymaps/default/config.h
+++ b/keyboards/yosino58/keymaps/default/config.h
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
26// #define MASTER_RIGHT 26// #define MASTER_RIGHT
27// #define EE_HANDS 27// #define EE_HANDS
28 28
29#define TAPPING_FORCE_HOLD 29#define QUICK_TAP_TERM 0
30#define TAPPING_TERM 100 30#define TAPPING_TERM 100
31 31
32#undef RGBLED_NUM 32#undef RGBLED_NUM
diff --git a/keyboards/yosino58/keymaps/sakura/config.h b/keyboards/yosino58/keymaps/sakura/config.h
index 001160d60e..a463ee1808 100644
--- a/keyboards/yosino58/keymaps/sakura/config.h
+++ b/keyboards/yosino58/keymaps/sakura/config.h
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
28 28
29#define OLED_DISPLAY_128X64 29#define OLED_DISPLAY_128X64
30 30
31#define TAPPING_FORCE_HOLD 31#define QUICK_TAP_TERM 0
32#define TAPPING_TERM 100 32#define TAPPING_TERM 100
33 33
34#undef RGBLED_NUM 34#undef RGBLED_NUM
diff --git a/keyboards/yushakobo/navpad/10/config.h b/keyboards/yushakobo/navpad/10/config.h
index 6d631ac32d..d9325aee19 100644
--- a/keyboards/yushakobo/navpad/10/config.h
+++ b/keyboards/yushakobo/navpad/10/config.h
@@ -72,6 +72,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
72//#define BOOTMAGIC_LITE_COLUMN 0 72//#define BOOTMAGIC_LITE_COLUMN 0
73 73
74 74
75#define TAPPING_FORCE_HOLD 75#define QUICK_TAP_TERM 0
76#define TAPPING_TERM 132 76#define TAPPING_TERM 132
77#define TAPPING_LAYER_TERM 90 77#define TAPPING_LAYER_TERM 90
diff --git a/keyboards/yushakobo/navpad/10_helix_r/config.h b/keyboards/yushakobo/navpad/10_helix_r/config.h
index 646cb59b63..3a5ba847b5 100644
--- a/keyboards/yushakobo/navpad/10_helix_r/config.h
+++ b/keyboards/yushakobo/navpad/10_helix_r/config.h
@@ -107,6 +107,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
107//#define BOOTMAGIC_LITE_COLUMN 0 107//#define BOOTMAGIC_LITE_COLUMN 0
108 108
109 109
110#define TAPPING_FORCE_HOLD 110#define QUICK_TAP_TERM 0
111#define TAPPING_TERM 132 111#define TAPPING_TERM 132
112#define TAPPING_LAYER_TERM 90 112#define TAPPING_LAYER_TERM 90
diff --git a/keyboards/z34/keymaps/zigotica/config.h b/keyboards/z34/keymaps/zigotica/config.h
index 1b223cb71d..6f86fe803f 100644
--- a/keyboards/z34/keymaps/zigotica/config.h
+++ b/keyboards/z34/keymaps/zigotica/config.h
@@ -24,5 +24,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
24#define TAPPING_TERM 350 24#define TAPPING_TERM 350
25#define PERMISSIVE_HOLD 25#define PERMISSIVE_HOLD
26#define IGNORE_MOD_TAP_INTERRUPT 26#define IGNORE_MOD_TAP_INTERRUPT
27#define TAPPING_FORCE_HOLD 27#define QUICK_TAP_TERM 0
28 28
diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h
index 0ef36d1f32..e43ad5e3ac 100644
--- a/layouts/community/split_3x6_3/drashna/config.h
+++ b/layouts/community/split_3x6_3/drashna/config.h
@@ -26,7 +26,7 @@
26#undef USE_I2C 26#undef USE_I2C
27#undef SSD1306OLED 27#undef SSD1306OLED
28 28
29// #define TAPPING_FORCE_HOLD 29// #define QUICK_TAP_TERM 0
30// #define TAPPING_TERM 100 30// #define TAPPING_TERM 100
31 31
32#ifdef RGBLIGHT_ENABLE 32#ifdef RGBLIGHT_ENABLE
diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c
index b5386a5e17..0350495ae5 100644
--- a/quantum/action_tapping.c
+++ b/quantum/action_tapping.c
@@ -25,6 +25,7 @@
25# define IS_TAPPING_RECORD(r) (IS_TAPPING() && KEYEQ(tapping_key.event.key, (r->event.key)) && tapping_key.keycode == r->keycode) 25# define IS_TAPPING_RECORD(r) (IS_TAPPING() && KEYEQ(tapping_key.event.key, (r->event.key)) && tapping_key.keycode == r->keycode)
26# endif 26# endif
27# define WITHIN_TAPPING_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < GET_TAPPING_TERM(get_record_keycode(&tapping_key, false), &tapping_key)) 27# define WITHIN_TAPPING_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < GET_TAPPING_TERM(get_record_keycode(&tapping_key, false), &tapping_key))
28# define WITHIN_QUICK_TAP_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < GET_QUICK_TAP_TERM(get_record_keycode(&tapping_key, false), &tapping_key))
28 29
29# ifdef DYNAMIC_TAPPING_TERM_ENABLE 30# ifdef DYNAMIC_TAPPING_TERM_ENABLE
30uint16_t g_tapping_term = TAPPING_TERM; 31uint16_t g_tapping_term = TAPPING_TERM;
@@ -40,9 +41,9 @@ __attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *r
40} 41}
41# endif 42# endif
42 43
43# ifdef TAPPING_FORCE_HOLD_PER_KEY 44# ifdef QUICK_TAP_TERM_PER_KEY
44__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 45__attribute__((weak)) uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
45 return false; 46 return QUICK_TAP_TERM;
46} 47}
47# endif 48# endif
48 49
@@ -121,7 +122,7 @@ void action_tapping_process(keyrecord_t record) {
121 * readable. The conditional definition of tapping_keycode and all the 122 * readable. The conditional definition of tapping_keycode and all the
122 * conditional uses of it are hidden inside macros named TAP_... 123 * conditional uses of it are hidden inside macros named TAP_...
123 */ 124 */
124# if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(TAPPING_FORCE_HOLD_PER_KEY) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY) 125# if (defined(AUTO_SHIFT_ENABLE) && defined(RETRO_SHIFT)) || defined(PERMISSIVE_HOLD_PER_KEY) || defined(QUICK_TAP_TERM_PER_KEY) || defined(HOLD_ON_OTHER_KEY_PRESS_PER_KEY)
125# define TAP_DEFINE_KEYCODE uint16_t tapping_keycode = get_record_keycode(&tapping_key, false) 126# define TAP_DEFINE_KEYCODE uint16_t tapping_keycode = get_record_keycode(&tapping_key, false)
126# else 127# else
127# define TAP_DEFINE_KEYCODE 128# define TAP_DEFINE_KEYCODE
@@ -169,14 +170,6 @@ void action_tapping_process(keyrecord_t record) {
169# define TAP_GET_IGNORE_MOD_TAP_INTERRUPT false 170# define TAP_GET_IGNORE_MOD_TAP_INTERRUPT false
170# endif 171# endif
171 172
172# ifdef TAPPING_FORCE_HOLD_PER_KEY
173# define TAP_GET_TAPPING_FORCE_HOLD get_tapping_force_hold(tapping_keycode, &tapping_key)
174# elif defined(TAPPING_FORCE_HOLD)
175# define TAP_GET_TAPPING_FORCE_HOLD true
176# else
177# define TAP_GET_TAPPING_FORCE_HOLD false
178# endif
179
180/** \brief Tapping 173/** \brief Tapping
181 * 174 *
182 * Rule: Tap key is typed(pressed and released) within TAPPING_TERM. 175 * Rule: Tap key is typed(pressed and released) within TAPPING_TERM.
@@ -385,7 +378,7 @@ bool process_tapping(keyrecord_t *keyp) {
385 if (WITHIN_TAPPING_TERM(event) || MAYBE_RETRO_SHIFTING(event)) { 378 if (WITHIN_TAPPING_TERM(event) || MAYBE_RETRO_SHIFTING(event)) {
386 if (event.pressed) { 379 if (event.pressed) {
387 if (IS_TAPPING_RECORD(keyp)) { 380 if (IS_TAPPING_RECORD(keyp)) {
388 if (!TAP_GET_TAPPING_FORCE_HOLD && !tapping_key.tap.interrupted && tapping_key.tap.count > 0) { 381 if (WITHIN_QUICK_TAP_TERM(event) && !tapping_key.tap.interrupted && tapping_key.tap.count > 0) {
389 // sequential tap. 382 // sequential tap.
390 keyp->tap = tapping_key.tap; 383 keyp->tap = tapping_key.tap;
391 if (keyp->tap.count < 15) keyp->tap.count += 1; 384 if (keyp->tap.count < 15) keyp->tap.count += 1;
diff --git a/quantum/action_tapping.h b/quantum/action_tapping.h
index bcccc7ac45..c078488c04 100644
--- a/quantum/action_tapping.h
+++ b/quantum/action_tapping.h
@@ -22,6 +22,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22# define TAPPING_TERM 200 22# define TAPPING_TERM 200
23#endif 23#endif
24 24
25/* period of quick tap(ms) */
26#if !defined(QUICK_TAP_TERM) || QUICK_TAP_TERM > TAPPING_TERM
27# define QUICK_TAP_TERM TAPPING_TERM
28#endif
29
25/* tap count needed for toggling a feature */ 30/* tap count needed for toggling a feature */
26#ifndef TAPPING_TOGGLE 31#ifndef TAPPING_TOGGLE
27# define TAPPING_TOGGLE 5 32# define TAPPING_TOGGLE 5
@@ -36,9 +41,9 @@ void action_tapping_process(keyrecord_t record);
36#endif 41#endif
37 42
38uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record); 43uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record);
44uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record);
39bool get_permissive_hold(uint16_t keycode, keyrecord_t *record); 45bool get_permissive_hold(uint16_t keycode, keyrecord_t *record);
40bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record); 46bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record);
41bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record);
42bool get_retro_tapping(uint16_t keycode, keyrecord_t *record); 47bool get_retro_tapping(uint16_t keycode, keyrecord_t *record);
43bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record); 48bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record);
44 49
@@ -53,3 +58,9 @@ extern uint16_t g_tapping_term;
53#else 58#else
54# define GET_TAPPING_TERM(keycode, record) (TAPPING_TERM) 59# define GET_TAPPING_TERM(keycode, record) (TAPPING_TERM)
55#endif 60#endif
61
62#ifdef QUICK_TAP_TERM_PER_KEY
63# define GET_QUICK_TAP_TERM(keycode, record) get_quick_tap_term(keycode, record)
64#else
65# define GET_QUICK_TAP_TERM(keycode, record) (QUICK_TAP_TERM)
66#endif
diff --git a/tests/tap_hold_configurations/tapping_force_hold/config.h b/tests/tap_hold_configurations/quick_tap/config.h
index 3b4646338a..cd82d3b5a5 100644
--- a/tests/tap_hold_configurations/tapping_force_hold/config.h
+++ b/tests/tap_hold_configurations/quick_tap/config.h
@@ -18,4 +18,4 @@
18 18
19#include "test_common.h" 19#include "test_common.h"
20 20
21#define TAPPING_FORCE_HOLD \ No newline at end of file 21#define QUICK_TAP_TERM 100
diff --git a/tests/tap_hold_configurations/tapping_force_hold/test.mk b/tests/tap_hold_configurations/quick_tap/test.mk
index efecca2c22..efecca2c22 100644
--- a/tests/tap_hold_configurations/tapping_force_hold/test.mk
+++ b/tests/tap_hold_configurations/quick_tap/test.mk
diff --git a/tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp b/tests/tap_hold_configurations/quick_tap/test_action_layer.cpp
index 965c702d7a..9c3b38050a 100644
--- a/tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp
+++ b/tests/tap_hold_configurations/quick_tap/test_action_layer.cpp
@@ -40,6 +40,8 @@ TEST_F(ActionLayer, LayerTapToggleWithToggleWithKeypress) {
40 run_one_scan_loop(); 40 run_one_scan_loop();
41 expect_layer_state(0); 41 expect_layer_state(0);
42 42
43 idle_for(QUICK_TAP_TERM + 10);
44
43 layer_key.press(); 45 layer_key.press();
44 run_one_scan_loop(); 46 run_one_scan_loop();
45 layer_key.release(); 47 layer_key.release();
diff --git a/tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp b/tests/tap_hold_configurations/quick_tap/test_quick_tap.cpp
index 604f9a4a54..be43f8e6c4 100644
--- a/tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp
+++ b/tests/tap_hold_configurations/quick_tap/test_quick_tap.cpp
@@ -1,4 +1,3 @@
1
2/* Copyright 2021 Stefan Kerkmann 1/* Copyright 2021 Stefan Kerkmann
3 * 2 *
4 * This program is free software: you can redistribute it and/or modify 3 * This program is free software: you can redistribute it and/or modify
@@ -15,6 +14,7 @@
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */ 15 */
17 16
17#include "config.h"
18#include "keyboard_report_util.hpp" 18#include "keyboard_report_util.hpp"
19#include "keycode.h" 19#include "keycode.h"
20#include "test_common.hpp" 20#include "test_common.hpp"
@@ -25,19 +25,19 @@
25using testing::_; 25using testing::_;
26using testing::InSequence; 26using testing::InSequence;
27 27
28class TappingForceHold : public TestFixture {}; 28class QuickTap : public TestFixture {};
29 29
30TEST_F(TappingForceHold, tap_regular_key_while_mod_tap_key_is_held) { 30TEST_F(QuickTap, tap_regular_key_while_mod_tap_key_is_held) {
31 TestDriver driver; 31 TestDriver driver;
32 InSequence s; 32 InSequence s;
33 auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); 33 auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
34 auto regular_key = KeymapKey(0, 2, 0, KC_A); 34 auto regular_key = KeymapKey(0, 2, 0, KC_A);
35 35
36 set_keymap({mod_tap_hold_key, regular_key}); 36 set_keymap({mod_tap_key, regular_key});
37 37
38 /* Press mod-tap-hold key. */ 38 /* Press mod-tap key. */
39 EXPECT_NO_REPORT(driver); 39 EXPECT_NO_REPORT(driver);
40 mod_tap_hold_key.press(); 40 mod_tap_key.press();
41 run_one_scan_loop(); 41 run_one_scan_loop();
42 testing::Mock::VerifyAndClearExpectations(&driver); 42 testing::Mock::VerifyAndClearExpectations(&driver);
43 43
@@ -53,9 +53,9 @@ TEST_F(TappingForceHold, tap_regular_key_while_mod_tap_key_is_held) {
53 run_one_scan_loop(); 53 run_one_scan_loop();
54 testing::Mock::VerifyAndClearExpectations(&driver); 54 testing::Mock::VerifyAndClearExpectations(&driver);
55 55
56 /* Release mod-tap-hold key. */ 56 /* Release mod-tap key. */
57 EXPECT_REPORT(driver, (KC_LSFT)); 57 EXPECT_REPORT(driver, (KC_LSFT));
58 mod_tap_hold_key.release(); 58 mod_tap_key.release();
59 run_one_scan_loop(); 59 run_one_scan_loop();
60 testing::Mock::VerifyAndClearExpectations(&driver); 60 testing::Mock::VerifyAndClearExpectations(&driver);
61 61
@@ -67,39 +67,39 @@ TEST_F(TappingForceHold, tap_regular_key_while_mod_tap_key_is_held) {
67 testing::Mock::VerifyAndClearExpectations(&driver); 67 testing::Mock::VerifyAndClearExpectations(&driver);
68} 68}
69 69
70TEST_F(TappingForceHold, tap_mod_tap_key_while_mod_tap_key_is_held) { 70TEST_F(QuickTap, tap_mod_tap_key_while_mod_tap_key_is_held) {
71 TestDriver driver; 71 TestDriver driver;
72 InSequence s; 72 InSequence s;
73 auto first_mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); 73 auto first_mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
74 auto second_mod_tap_hold_key = KeymapKey(0, 2, 0, RSFT_T(KC_A)); 74 auto second_mod_tap_key = KeymapKey(0, 2, 0, RSFT_T(KC_A));
75 75
76 set_keymap({first_mod_tap_hold_key, second_mod_tap_hold_key}); 76 set_keymap({first_mod_tap_key, second_mod_tap_key});
77 77
78 /* Press first mod-tap-hold key */ 78 /* Press first mod-tap key */
79 EXPECT_NO_REPORT(driver); 79 EXPECT_NO_REPORT(driver);
80 first_mod_tap_hold_key.press(); 80 first_mod_tap_key.press();
81 run_one_scan_loop(); 81 run_one_scan_loop();
82 testing::Mock::VerifyAndClearExpectations(&driver); 82 testing::Mock::VerifyAndClearExpectations(&driver);
83 83
84 /* Press second tap-hold key */ 84 /* Press second mod-tap key */
85 EXPECT_NO_REPORT(driver); 85 EXPECT_NO_REPORT(driver);
86 second_mod_tap_hold_key.press(); 86 second_mod_tap_key.press();
87 run_one_scan_loop(); 87 run_one_scan_loop();
88 testing::Mock::VerifyAndClearExpectations(&driver); 88 testing::Mock::VerifyAndClearExpectations(&driver);
89 89
90 /* Release second tap-hold key */ 90 /* Release second tap-hold key */
91 EXPECT_NO_REPORT(driver); 91 EXPECT_NO_REPORT(driver);
92 second_mod_tap_hold_key.release(); 92 second_mod_tap_key.release();
93 run_one_scan_loop(); 93 run_one_scan_loop();
94 testing::Mock::VerifyAndClearExpectations(&driver); 94 testing::Mock::VerifyAndClearExpectations(&driver);
95 95
96 /* Release first mod-tap-hold key */ 96 /* Release first mod-tap key */
97 EXPECT_REPORT(driver, (KC_LSFT)); 97 EXPECT_REPORT(driver, (KC_LSFT));
98 first_mod_tap_hold_key.release(); 98 first_mod_tap_key.release();
99 run_one_scan_loop(); 99 run_one_scan_loop();
100 testing::Mock::VerifyAndClearExpectations(&driver); 100 testing::Mock::VerifyAndClearExpectations(&driver);
101 101
102 /* Idle for tapping term of first mod tap hold key. */ 102 /* Idle for tapping term of first mod-tap key. */
103 EXPECT_REPORT(driver, (KC_LSFT, KC_A)); 103 EXPECT_REPORT(driver, (KC_LSFT, KC_A));
104 EXPECT_REPORT(driver, (KC_LSFT)); 104 EXPECT_REPORT(driver, (KC_LSFT));
105 EXPECT_EMPTY_REPORT(driver); 105 EXPECT_EMPTY_REPORT(driver);
@@ -107,18 +107,18 @@ TEST_F(TappingForceHold, tap_mod_tap_key_while_mod_tap_key_is_held) {
107 testing::Mock::VerifyAndClearExpectations(&driver); 107 testing::Mock::VerifyAndClearExpectations(&driver);
108} 108}
109 109
110TEST_F(TappingForceHold, tap_regular_key_while_layer_tap_key_is_held) { 110TEST_F(QuickTap, tap_regular_key_while_layer_tap_key_is_held) {
111 TestDriver driver; 111 TestDriver driver;
112 InSequence s; 112 InSequence s;
113 auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P)); 113 auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_P));
114 auto regular_key = KeymapKey(0, 2, 0, KC_A); 114 auto regular_key = KeymapKey(0, 2, 0, KC_A);
115 auto layer_key = KeymapKey(1, 2, 0, KC_B); 115 auto layer_key = KeymapKey(1, 2, 0, KC_B);
116 116
117 set_keymap({layer_tap_hold_key, regular_key, layer_key}); 117 set_keymap({layer_tap_key, regular_key, layer_key});
118 118
119 /* Press layer-tap-hold key */ 119 /* Press layer-tap key */
120 EXPECT_NO_REPORT(driver); 120 EXPECT_NO_REPORT(driver);
121 layer_tap_hold_key.press(); 121 layer_tap_key.press();
122 run_one_scan_loop(); 122 run_one_scan_loop();
123 testing::Mock::VerifyAndClearExpectations(&driver); 123 testing::Mock::VerifyAndClearExpectations(&driver);
124 124
@@ -134,80 +134,158 @@ TEST_F(TappingForceHold, tap_regular_key_while_layer_tap_key_is_held) {
134 run_one_scan_loop(); 134 run_one_scan_loop();
135 testing::Mock::VerifyAndClearExpectations(&driver); 135 testing::Mock::VerifyAndClearExpectations(&driver);
136 136
137 /* Release layer-tap-hold key */ 137 /* Release layer-tap key */
138 EXPECT_REPORT(driver, (KC_P)); 138 EXPECT_REPORT(driver, (KC_P));
139 EXPECT_REPORT(driver, (KC_A, KC_P)); 139 EXPECT_REPORT(driver, (KC_A, KC_P));
140 EXPECT_REPORT(driver, (KC_P)); 140 EXPECT_REPORT(driver, (KC_P));
141 EXPECT_EMPTY_REPORT(driver); 141 EXPECT_EMPTY_REPORT(driver);
142 layer_tap_hold_key.release(); 142 layer_tap_key.release();
143 run_one_scan_loop(); 143 run_one_scan_loop();
144 testing::Mock::VerifyAndClearExpectations(&driver); 144 testing::Mock::VerifyAndClearExpectations(&driver);
145} 145}
146 146
147TEST_F(TappingForceHold, tap_mod_tap_hold_key_two_times) { 147TEST_F(QuickTap, tap_key_and_tap_again_before_quick_tap_term) {
148 TestDriver driver; 148 TestDriver driver;
149 InSequence s; 149 InSequence s;
150 auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); 150 auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
151 151
152 set_keymap({mod_tap_hold_key}); 152 set_keymap({mod_tap_key});
153 153
154 /* Press mod-tap-hold key. */ 154 /* Press mod-tap key. */
155 EXPECT_NO_REPORT(driver); 155 EXPECT_NO_REPORT(driver);
156 mod_tap_hold_key.press(); 156 mod_tap_key.press();
157 run_one_scan_loop(); 157 run_one_scan_loop();
158 testing::Mock::VerifyAndClearExpectations(&driver); 158 testing::Mock::VerifyAndClearExpectations(&driver);
159 159
160 /* Release mod-tap-hold key. */ 160 /* Release mod-tap key. */
161 EXPECT_REPORT(driver, (KC_P)); 161 EXPECT_REPORT(driver, (KC_P));
162 EXPECT_EMPTY_REPORT(driver); 162 EXPECT_EMPTY_REPORT(driver);
163 mod_tap_hold_key.release(); 163 mod_tap_key.release();
164 idle_for(QUICK_TAP_TERM - 10);
164 run_one_scan_loop(); 165 run_one_scan_loop();
165 testing::Mock::VerifyAndClearExpectations(&driver); 166 testing::Mock::VerifyAndClearExpectations(&driver);
166 167
167 /* Press mod-tap-hold key again. */ 168 /* Press and tap mod-tap key again. */
169 EXPECT_REPORT(driver, (KC_P));
170 mod_tap_key.press();
171 run_one_scan_loop();
172 testing::Mock::VerifyAndClearExpectations(&driver);
173
174 /* Release mod-tap key. */
175 EXPECT_EMPTY_REPORT(driver);
176 mod_tap_key.release();
177 run_one_scan_loop();
178 testing::Mock::VerifyAndClearExpectations(&driver);
179}
180
181TEST_F(QuickTap, tap_key_and_hold_again_before_quick_tap_term) {
182 TestDriver driver;
183 InSequence s;
184 auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
185
186 set_keymap({mod_tap_key});
187
188 /* Press mod-tap key. */
168 EXPECT_NO_REPORT(driver); 189 EXPECT_NO_REPORT(driver);
169 mod_tap_hold_key.press(); 190 mod_tap_key.press();
170 run_one_scan_loop(); 191 run_one_scan_loop();
171 testing::Mock::VerifyAndClearExpectations(&driver); 192 testing::Mock::VerifyAndClearExpectations(&driver);
172 193
173 /* Release mod-tap-hold key. */ 194 /* Release mod-tap key. */
174 EXPECT_REPORT(driver, (KC_P)); 195 EXPECT_REPORT(driver, (KC_P));
175 EXPECT_EMPTY_REPORT(driver); 196 EXPECT_EMPTY_REPORT(driver);
176 mod_tap_hold_key.release(); 197 mod_tap_key.release();
198 idle_for(QUICK_TAP_TERM - 10);
199 testing::Mock::VerifyAndClearExpectations(&driver);
200
201 /* Press and hold mod-tap key again. */
202 EXPECT_REPORT(driver, (KC_P));
203 mod_tap_key.press();
204 run_one_scan_loop();
205 testing::Mock::VerifyAndClearExpectations(&driver);
206
207 /* Wait until tapping term expired */
208 EXPECT_NO_REPORT(driver);
209 idle_for(TAPPING_TERM);
210 testing::Mock::VerifyAndClearExpectations(&driver);
211
212 /* Release mod-tap key. */
213 EXPECT_EMPTY_REPORT(driver);
214 mod_tap_key.release();
177 run_one_scan_loop(); 215 run_one_scan_loop();
178 testing::Mock::VerifyAndClearExpectations(&driver); 216 testing::Mock::VerifyAndClearExpectations(&driver);
179} 217}
180 218
181TEST_F(TappingForceHold, tap_mod_tap_hold_key_twice_and_hold_on_second_time) { 219
220TEST_F(QuickTap, tap_key_and_tap_again_after_quick_tap_term) {
182 TestDriver driver; 221 TestDriver driver;
183 InSequence s; 222 InSequence s;
184 auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P)); 223 auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
185 224
186 set_keymap({mod_tap_hold_key}); 225 set_keymap({mod_tap_key});
187 226
188 /* Press mod-tap-hold key. */ 227 /* Press mod-tap key. */
189 EXPECT_NO_REPORT(driver); 228 EXPECT_NO_REPORT(driver);
190 mod_tap_hold_key.press(); 229 mod_tap_key.press();
191 run_one_scan_loop(); 230 run_one_scan_loop();
192 testing::Mock::VerifyAndClearExpectations(&driver); 231 testing::Mock::VerifyAndClearExpectations(&driver);
193 232
194 /* Release mod-tap-hold key. */ 233 /* Release mod-tap key. */
195 EXPECT_REPORT(driver, (KC_P)); 234 EXPECT_REPORT(driver, (KC_P));
196 EXPECT_EMPTY_REPORT(driver); 235 EXPECT_EMPTY_REPORT(driver);
197 mod_tap_hold_key.release(); 236 mod_tap_key.release();
237 idle_for(QUICK_TAP_TERM + 10);
198 run_one_scan_loop(); 238 run_one_scan_loop();
199 testing::Mock::VerifyAndClearExpectations(&driver); 239 testing::Mock::VerifyAndClearExpectations(&driver);
200 240
201 /* Press mod-tap-hold key again. */ 241 /* Press mod-tap key again. */
202 EXPECT_NO_REPORT(driver); 242 EXPECT_NO_REPORT(driver);
203 mod_tap_hold_key.press(); 243 mod_tap_key.press();
244 run_one_scan_loop();
245 testing::Mock::VerifyAndClearExpectations(&driver);
246
247 /* Release mod-tap key. */
248 EXPECT_REPORT(driver, (KC_P));
249 EXPECT_EMPTY_REPORT(driver);
250 mod_tap_key.release();
251 run_one_scan_loop();
252 testing::Mock::VerifyAndClearExpectations(&driver);
253}
254
255TEST_F(QuickTap, tap_key_and_hold_again_after_quick_tap_term) {
256 TestDriver driver;
257 InSequence s;
258 auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
259
260 set_keymap({mod_tap_key});
261
262 /* Press mod-tap key. */
263 EXPECT_NO_REPORT(driver);
264 mod_tap_key.press();
265 run_one_scan_loop();
266 testing::Mock::VerifyAndClearExpectations(&driver);
267
268 /* Release mod-tap key. */
269 EXPECT_REPORT(driver, (KC_P));
270 EXPECT_EMPTY_REPORT(driver);
271 mod_tap_key.release();
272 idle_for(QUICK_TAP_TERM + 10);
273 testing::Mock::VerifyAndClearExpectations(&driver);
274
275 /* Press and hold mod-tap key again. */
276 EXPECT_NO_REPORT(driver);
277 mod_tap_key.press();
278 run_one_scan_loop();
279 testing::Mock::VerifyAndClearExpectations(&driver);
280
281 /* Wait until tapping term expired */
282 EXPECT_REPORT(driver, (KC_LSFT));
204 idle_for(TAPPING_TERM); 283 idle_for(TAPPING_TERM);
205 testing::Mock::VerifyAndClearExpectations(&driver); 284 testing::Mock::VerifyAndClearExpectations(&driver);
206 285
207 /* Release mod-tap-hold key. */ 286 /* Release mod-tap key. */
208 EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
209 EXPECT_EMPTY_REPORT(driver); 287 EXPECT_EMPTY_REPORT(driver);
210 mod_tap_hold_key.release(); 288 mod_tap_key.release();
211 run_one_scan_loop(); 289 run_one_scan_loop();
212 testing::Mock::VerifyAndClearExpectations(&driver); 290 testing::Mock::VerifyAndClearExpectations(&driver);
213} 291}
diff --git a/users/bcat/config.h b/users/bcat/config.h
index 7bb5d71bae..b9eac74ff6 100644
--- a/users/bcat/config.h
+++ b/users/bcat/config.h
@@ -35,7 +35,7 @@
35/* Turn off key repeat support of the tap keycode for tap-hold keys, enabling 35/* Turn off key repeat support of the tap keycode for tap-hold keys, enabling
36 * holds to work correctly in quick succession after taps. 36 * holds to work correctly in quick succession after taps.
37 */ 37 */
38#define TAPPING_FORCE_HOLD 38#define QUICK_TAP_TERM 0
39 39
40#if defined(OLED_ENABLE) 40#if defined(OLED_ENABLE)
41/* The built-in OLED timeout wakes the OLED screen every time the buffer is 41/* The built-in OLED timeout wakes the OLED screen every time the buffer is
diff --git a/users/cwebster2/config.h b/users/cwebster2/config.h
index 78733687cc..313e6d533f 100644
--- a/users/cwebster2/config.h
+++ b/users/cwebster2/config.h
@@ -18,7 +18,7 @@
18#define TAPPING_TOGGLE 1 18#define TAPPING_TOGGLE 1
19#define TAPPING_TERM 200 19#define TAPPING_TERM 200
20#define TAPPING_TERM_PER_KEY 20#define TAPPING_TERM_PER_KEY
21//#define TAPPING_FORCE_HOLD 21//#define QUICK_TAP_TERM 0
22#undef PERMISSIVE_HOLD 22#undef PERMISSIVE_HOLD
23#define IGNORE_MOD_TAP_INTERRUPT 23#define IGNORE_MOD_TAP_INTERRUPT
24#define NO_ACTION_ONESHOT 24#define NO_ACTION_ONESHOT
diff --git a/users/drashna/config.h b/users/drashna/config.h
index 5c5c131e36..22c789b8c6 100644
--- a/users/drashna/config.h
+++ b/users/drashna/config.h
@@ -83,7 +83,7 @@
83#if defined(PER_KEY_TAPPING) 83#if defined(PER_KEY_TAPPING)
84# define IGNORE_MOD_TAP_INTERRUPT_PER_KEY 84# define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
85# define PERMISSIVE_HOLD_PER_KEY 85# define PERMISSIVE_HOLD_PER_KEY
86# define TAPPING_FORCE_HOLD_PER_KEY 86# define QUICK_TAP_TERM_PER_KEY
87# define HOLD_ON_OTHER_KEY 87# define HOLD_ON_OTHER_KEY
88# define RETRO_TAPPING_PER_KEY 88# define RETRO_TAPPING_PER_KEY
89# define HOLD_ON_OTHER_KEY_PRESS_PER_KEY 89# define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
diff --git a/users/drashna/keyrecords/tapping.c b/users/drashna/keyrecords/tapping.c
index 7496610c2f..37945d2f67 100644
--- a/users/drashna/keyrecords/tapping.c
+++ b/users/drashna/keyrecords/tapping.c
@@ -57,14 +57,14 @@ __attribute__((weak)) bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrec
57} 57}
58#endif // IGNORE_MOD_TAP_INTERRUPT_PER_KEY 58#endif // IGNORE_MOD_TAP_INTERRUPT_PER_KEY
59 59
60#ifdef TAPPING_FORCE_HOLD_PER_KEY 60#ifdef QUICK_TAP_TERM_PER_KEY
61__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 61__attribute__((weak)) uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
62 switch (keycode) { 62 switch (keycode) {
63 default: 63 default:
64 return false; 64 return QUICK_TAP_TERM;
65 } 65 }
66} 66}
67#endif // TAPPING_FORCE_HOLD_PER_KEY 67#endif // QUICK_TAP_TERM_PER_KEY
68 68
69#ifdef RETRO_TAPPING_PER_KEY 69#ifdef RETRO_TAPPING_PER_KEY
70__attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { 70__attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) {
diff --git a/users/dshields/config.h b/users/dshields/config.h
index 1420a9178f..279bcf217b 100644
--- a/users/dshields/config.h
+++ b/users/dshields/config.h
@@ -6,7 +6,7 @@
6#define ONESHOT_TIMEOUT 3000 6#define ONESHOT_TIMEOUT 3000
7#define IGNORE_MOD_TAP_INTERRUPT 7#define IGNORE_MOD_TAP_INTERRUPT
8#define PERMISSIVE_HOLD_PER_KEY 8#define PERMISSIVE_HOLD_PER_KEY
9#define TAPPING_FORCE_HOLD_PER_KEY 9#define QUICK_TAP_TERM_PER_KEY
10#define TAPPING_TERM 200 10#define TAPPING_TERM 200
11#define BACKLIGHT_BREATHING 11#define BACKLIGHT_BREATHING
12#define DYNAMIC_MACRO_NO_NESTING 12#define DYNAMIC_MACRO_NO_NESTING
diff --git a/users/dshields/dshields.c b/users/dshields/dshields.c
index 46f0b33cd3..a8e1333104 100644
--- a/users/dshields/dshields.c
+++ b/users/dshields/dshields.c
@@ -29,7 +29,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
29 return true; 29 return true;
30} 30}
31 31
32bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 32uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
33 switch (keycode) { 33 switch (keycode) {
34 case MT_A: 34 case MT_A:
35 case MT_S: 35 case MT_S:
@@ -39,9 +39,9 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
39 case MT_K: 39 case MT_K:
40 case MT_L: 40 case MT_L:
41 case MT_SCLN: 41 case MT_SCLN:
42 return true; 42 return 0;
43 default: 43 default:
44 return false; 44 return QUICK_TAP_TERM;
45 } 45 }
46} 46}
47 47
@@ -55,4 +55,3 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
55 return false; 55 return false;
56 } 56 }
57} 57}
58
diff --git a/users/kuchosauronad0/config.h b/users/kuchosauronad0/config.h
index 9315f879ae..bc0fe67df8 100644
--- a/users/kuchosauronad0/config.h
+++ b/users/kuchosauronad0/config.h
@@ -70,7 +70,7 @@
70// actually sends Ctrl-x. That's bad.) 70// actually sends Ctrl-x. That's bad.)
71#define IGNORE_MOD_TAP_INTERRUPT 71#define IGNORE_MOD_TAP_INTERRUPT
72#undef PERMISSIVE_HOLD 72#undef PERMISSIVE_HOLD
73//#define TAPPING_FORCE_HOLD 73//#define QUICK_TAP_TERM 0
74//#define RETRO_TAPPING 74//#define RETRO_TAPPING
75 75
76#ifndef TAPPING_TOGGLE 76#ifndef TAPPING_TOGGLE
diff --git a/users/manna-harbour_miryoku/config.h b/users/manna-harbour_miryoku/config.h
index 920003598e..429e08493d 100644
--- a/users/manna-harbour_miryoku/config.h
+++ b/users/manna-harbour_miryoku/config.h
@@ -15,7 +15,7 @@
15#define IGNORE_MOD_TAP_INTERRUPT 15#define IGNORE_MOD_TAP_INTERRUPT
16 16
17// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 17// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
18#define TAPPING_FORCE_HOLD 18#define QUICK_TAP_TERM 0
19 19
20// Auto Shift 20// Auto Shift
21#define NO_AUTO_SHIFT_ALPHA 21#define NO_AUTO_SHIFT_ALPHA
@@ -40,4 +40,3 @@
40 #define COMBO_TERM 200 40 #define COMBO_TERM 200
41 #define EXTRA_SHORT_COMBOS 41 #define EXTRA_SHORT_COMBOS
42#endif 42#endif
43
diff --git a/users/muppetjones/config.h b/users/muppetjones/config.h
index 3dd4d1b1b6..583567d4f3 100644
--- a/users/muppetjones/config.h
+++ b/users/muppetjones/config.h
@@ -34,7 +34,7 @@
34# define IGNORE_MOD_TAP_INTERRUPT 34# define IGNORE_MOD_TAP_INTERRUPT
35 35
36// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. 36// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
37# define TAPPING_FORCE_HOLD 37# define QUICK_TAP_TERM 0
38 38
39#endif 39#endif
40 40
diff --git a/users/ridingqwerty/config.h b/users/ridingqwerty/config.h
index 6501efe62f..291c4877e1 100644
--- a/users/ridingqwerty/config.h
+++ b/users/ridingqwerty/config.h
@@ -5,7 +5,7 @@
5 5
6#define TAPPING_TERM 175 6#define TAPPING_TERM 175
7#define MACRO_TIMER 5 7#define MACRO_TIMER 5
8#define TAPPING_FORCE_HOLD_PER_KEY 8#define QUICK_TAP_TERM_PER_KEY
9// testing 9// testing
10#define TAPPING_TERM_PER_KEY 10#define TAPPING_TERM_PER_KEY
11//#define IGNORE_MOD_TAP_INTERRUPT // rolling R3 "zxcv", etc... 11//#define IGNORE_MOD_TAP_INTERRUPT // rolling R3 "zxcv", etc...
diff --git a/users/ridingqwerty/ridingqwerty.c b/users/ridingqwerty/ridingqwerty.c
index 8934b9365b..639bb8d2b3 100644
--- a/users/ridingqwerty/ridingqwerty.c
+++ b/users/ridingqwerty/ridingqwerty.c
@@ -55,11 +55,11 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
55 } 55 }
56}; 56};
57 57
58bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 58uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
59 switch (keycode) { 59 switch (keycode) {
60 case NM(SCLN): 60 case NM(SCLN):
61 return true; 61 return 0;
62 default: 62 default:
63 return false; 63 return QUICK_TAP_TERM;
64 } 64 }
65} 65}
diff --git a/users/uqs/config.h b/users/uqs/config.h
index 4bb793532b..455aae9da8 100644
--- a/users/uqs/config.h
+++ b/users/uqs/config.h
@@ -15,7 +15,7 @@
15#define TAPPING_TOGGLE 2 // number of taps for a toggle-on-tap 15#define TAPPING_TOGGLE 2 // number of taps for a toggle-on-tap
16#define TAPPING_TERM 170 // ms to trigger tap 16#define TAPPING_TERM 170 // ms to trigger tap
17// https://precondition.github.io/home-row-mods 17// https://precondition.github.io/home-row-mods
18#define TAPPING_FORCE_HOLD // make tap-then-hold _not_ do key auto repeat 18#define QUICK_TAP_TERM 0 // make tap-then-hold _not_ do key auto repeat
19#define IGNORE_MOD_TAP_INTERRUPT 19#define IGNORE_MOD_TAP_INTERRUPT
20#define PERMISSIVE_HOLD // I don't think this works for me, hence I rolled my own implementation. 20#define PERMISSIVE_HOLD // I don't think this works for me, hence I rolled my own implementation.
21 21
diff --git a/users/vosechu/config.h b/users/vosechu/config.h
index 837cc60ff7..81d9305d50 100644
--- a/users/vosechu/config.h
+++ b/users/vosechu/config.h
@@ -6,7 +6,7 @@
6// actually sends Ctrl-x. That's bad.) 6// actually sends Ctrl-x. That's bad.)
7#define IGNORE_MOD_TAP_INTERRUPT 7#define IGNORE_MOD_TAP_INTERRUPT
8#undef PERMISSIVE_HOLD 8#undef PERMISSIVE_HOLD
9//#define TAPPING_FORCE_HOLD 9//#define QUICK_TAP_TERM 0
10//#define RETRO_TAPPING 10//#define RETRO_TAPPING
11 11
12#ifndef TAPPING_TOGGLE 12#ifndef TAPPING_TOGGLE
diff --git a/users/xulkal/config.h b/users/xulkal/config.h
index 7f7782807e..bc175dda98 100644
--- a/users/xulkal/config.h
+++ b/users/xulkal/config.h
@@ -1,10 +1,11 @@
1#pragma once 1#pragma once
2 2
3#undef TAPPING_FORCE_HOLD
4
5#undef TAPPING_TERM 3#undef TAPPING_TERM
6#define TAPPING_TERM 175 4#define TAPPING_TERM 175
7 5
6#undef QUICK_TAP_TERM
7#define QUICK_TAP_TERM TAPPING_TERM
8
8#define SPACE_CADET_MODIFIER_CARRYOVER 9#define SPACE_CADET_MODIFIER_CARRYOVER
9#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC 10#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC
10#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC 11#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC
diff --git a/users/yet-another-developer/config.h b/users/yet-another-developer/config.h
index 6d1bf83f0b..030872d3dd 100644
--- a/users/yet-another-developer/config.h
+++ b/users/yet-another-developer/config.h
@@ -31,7 +31,7 @@
31// actually sends Ctrl-x. That's bad.) 31// actually sends Ctrl-x. That's bad.)
32#define IGNORE_MOD_TAP_INTERRUPT 32#define IGNORE_MOD_TAP_INTERRUPT
33#undef PERMISSIVE_HOLD 33#undef PERMISSIVE_HOLD
34//#define TAPPING_FORCE_HOLD 34//#define QUICK_TAP_TERM 0
35//#define RETRO_TAPPING 35//#define RETRO_TAPPING
36 36
37#ifndef TAPPING_TOGGLE 37#ifndef TAPPING_TOGGLE