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 @@
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"},
"TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"},
- "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"},
- "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"},
"TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"},
"TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"},
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
@@ -129,6 +127,8 @@
"UNUSED_PINS": {"info_key": "_invalid.unused_pins", "deprecated": true},
"RGBLIGHT_ANIMATIONS": {"info_key": "_invalid.rgblight.animations.all", "value_type": "bool", "invalid": true},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
+ "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool", "deprecated": true},
+ "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool", "deprecated": true},
// USB params, need to mark as failure when specified in config.h, rather than deprecated
"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
* See [Ignore Mod Tap Interrupt](tap_hold.md#ignore-mod-tap-interrupt) for details
* `#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY`
* enables handling for per key `IGNORE_MOD_TAP_INTERRUPT` settings
-* `#define TAPPING_FORCE_HOLD`
- * makes it possible to use a dual role key as modifier shortly after having been tapped
- * See [Tapping Force Hold](tap_hold.md#tapping-force-hold)
- * Breaks any Tap Toggle functionality (`TT` or the One Shot Tap Toggle)
-* `#define TAPPING_FORCE_HOLD_PER_KEY`
- * enables handling for per key `TAPPING_FORCE_HOLD` settings
+* `#define QUICK_TAP_TERM 100`
+ * tap-then-hold timing to use a dual role key to repeat keycode
+ * See [Quick Tap Term](tap_hold.md#quick-tap-term)
+ * Changes the timing of Tap Toggle functionality (`TT` or the One Shot Tap Toggle)
+ * Defaults to `TAPPING_TERM` if not defined
+* `#define QUICK_TAP_TERM_PER_KEY`
+ * enables handling for per key `QUICK_TAP_TERM` settings
* `#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.
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) {
}
```
-## Tapping Force Hold
+## Quick Tap Term
-To enable `tapping force hold`, add the following to your `config.h`:
+When 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.
+
+`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`:
```c
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 120
```
-When 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.
-
Example:
- `SFT_T(KC_A)` Down
- `SFT_T(KC_A)` Up
- `SFT_T(KC_A)` Down
-- wait until the tapping term expires...
-- `SFT_T(KC_A)` Up
+- (wait until tapping term expires...)
-With default settings, `a` will be sent on the first release, then `a` will be sent on the second press allowing the computer to trigger its auto-repeat function.
+With 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.
-With `TAPPING_FORCE_HOLD`, the second press will be interpreted as a Shift, allowing to use it as a modifier shortly after having used it as a tap.
+With `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.
-!> `TAPPING_FORCE_HOLD` will break anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tap Toggle).
+!> `QUICK_TAP_TERM` timing will also impact anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tap Toggle).
For more granular control of this feature, you can add the following to your `config.h`:
```c
-#define TAPPING_FORCE_HOLD_PER_KEY
+#define QUICK_TAP_TERM_PER_KEY
```
You can then add the following function to your keymap:
```c
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case LT(1, KC_BSPC):
- return true;
+ case SFT_T(KC_SPC):
+ return QUICK_TAP_TERM - 20;
default:
- return false;
+ return QUICK_TAP_TERM;
}
}
```
+?> If `QUICK_TAP_TERM` is set higher than `TAPPING_TERM`, it will default to `TAPPING_TERM`.
+
## Retro Tapping
To 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 .
#pragma once
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
/* 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 .
#pragma once
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
/* 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 @@
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#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 @@
#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.
-#define TAPPING_FORCE_HOLD
+#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)
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 @@
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
-#define TAPPING_FORCE_HOLD_PER_KEY
+#define QUICK_TAP_TERM_PER_KEY
#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) {
}
}
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case LLS_ESC:
case LLS_RALT:
- return true;
+ return 0;
default:
- return false;
+ return QUICK_TAP_TERM;
}
}
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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 170
#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 @@
#define DIODE_DIRECTION COL2ROW
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE, UNICODE_MODE_WINDOWS, UNICODE_MODE_MACOS, UNICODE_MODE_LINUX
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#define TAPPING_TERM_PER_KEY
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 .
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
//#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 .
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
//#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 @@
*
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
*/
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
/*
* 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 @@
*
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
*/
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
/*
* 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 @@
* Enable rapid switch from tap to hold. Disable auto-repeat when pressing key
* twice, except for one-shot keys.
*/
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
/*
* 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 @@
// #define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-// #define TAPPING_FORCE_HOLD
+// #define QUICK_TAP_TERM 0
// Apply the modifier on keys that are tapped during a short hold of a modtap
// #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 .
// #define MASTER_RIGHT
#define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
#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 .
// #define MASTER_RIGHT
#define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
#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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Apply the modifier on keys that are tapped during a short hold of a modtap
#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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Apply the modifier on keys that are tapped during a short hold of a modtap
#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 @@
#undef TAPPING_TERM
#define IGNORE_MOD_TAP_INTERRUPT
- #define TAPPING_FORCE_HOLD
+ #define QUICK_TAP_TERM 0
#define TAPPING_TERM 150
#endif
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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define TAPPING_TERM 100
#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 @@
#define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#ifdef RGBLIGHT_ENABLE
#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 .
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-// #define TAPPING_FORCE_HOLD
+// #define QUICK_TAP_TERM 0
// #define PERMISSIVE_HOLD
#define TAPPING_TERM 300
#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 .
// #define MASTER_RIGHT
#define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 175
#define PERMISSIVE_HOLD
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-// #define TAPPING_FORCE_HOLD
+// #define QUICK_TAP_TERM 0
#define TAPPING_TERM 150
// #define RETRO_TAPPING
// #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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
// #define RETRO_TAPPING
// #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 .
#undef USE_I2C
#undef SSD1306OLED
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
// #define RETRO_TAPPING
// #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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define TAPPING_TERM 100
#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 .
#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 @@
#define SWAP_SCLN
-// #define TAPPING_FORCE_HOLD
+// #define QUICK_TAP_TERM 0
#define TAPPING_TERM 300
#define IGNORE_MOD_TAP_INTERRUPT
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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define TAPPING_TERM 100
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define TAPPING_TERM 100
#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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
//#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 150
#undef PRODUCT
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 @@
#define EXTRA_SHORT_COMBOS
//Tapping values
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#define IGNORE_MOD_TAP_INTERRUPT
#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 .
#define MASTER_LEFT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#ifdef RGB_MATRIX_ENABLE
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 @@
#define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
#define SPLIT_USB_DETECT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200 // 200 is default
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 300
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#define IGNORE_MOD_TAP_INTERRUPT
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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-// #define TAPPING_FORCE_HOLD
+// #define QUICK_TAP_TERM 0
#define TAPPING_TERM 150
#define RETRO_TAPPING
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 150
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define TAPPING_TERM 100
#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 .
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 @@
#define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 @@
/* Select hand configuration */
#define MASTER_RIGHT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 300
#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 .
#define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
// #define MASTER_RIGHT
#define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
#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 @@
#define MASTER_RIGHT
// #define EE_HANDS
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define TAPPING_TERM 100
// #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 @@
#endif // !NO_PRINT
#define NO_ACTION_ONESHOT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define IGNORE_MOD_TAP_INTERRUPT
// #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 @@
#endif // !NO_PRINT
#define NO_ACTION_ONESHOT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define IGNORE_MOD_TAP_INTERRUPT
// #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 @@
// #define RGB_MATRIX_KEYRELEASES
#define NO_ACTION_ONESHOT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#endif // !NO_PRINT
#define NO_ACTION_ONESHOT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define IGNORE_MOD_TAP_INTERRUPT
// #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 @@
// #define NO_PRINT
// #define RETRO_TAPPING
-// #define TAPPING_FORCE_HOLD
+// #define QUICK_TAP_TERM 0
// #define AUTO_SHIFT_TIMEOUT 150
// #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 @@
#define IGNORE_MOD_TAP_INTERRUPT
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
-#define TAPPING_FORCE_HOLD
-#define TAPPING_FORCE_HOLD_PER_KEY
+#define QUICK_TAP_TERM 0
+#define QUICK_TAP_TERM_PER_KEY
/* #define RETRO_TAPPING */
#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) {
}
}
-
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LT(_1_NUMBERS, KC_E):
- case R_MOUSE:
- case LSFT_T(KC_A):
- case LCTL_T(KC_S):
- case LALT_T(KC_D):
- case LGUI_T(KC_F):
- case RGUI_T(KC_J):
- case RALT_T(KC_K):
- case RCTL_T(KC_L):
- case RSFT_T(KC_SEMICOLON):
- case ARROWS:
- return false;
- default:
- return true;
- }
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LT(_1_NUMBERS, KC_E):
+ case R_MOUSE:
+ case LSFT_T(KC_A):
+ case LCTL_T(KC_S):
+ case LALT_T(KC_D):
+ case LGUI_T(KC_F):
+ case RGUI_T(KC_J):
+ case RALT_T(KC_K):
+ case RCTL_T(KC_L):
+ case RSFT_T(KC_SEMICOLON):
+ case ARROWS:
+ return QUICK_TAP_TERM;
+ default:
+ return 0;
+ }
}
-
-
LEADER_EXTERNS();
void 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 .
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#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 .
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Underglow configuration
#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 .
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Underglow configuration
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#define RETRO_TAPPING
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
\ No newline at end of file
+#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 .
//#define TAPPING_TERM 150
//#define IGNORE_MOD_TAP_INTERRUPT
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
#define BOOTMAGIC_LITE_ROW 0
#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 .
#define TAPPING_TERM_PER_KEY // milliseconds from tap to hold for mod tap per key
#define IGNORE_MOD_TAP_INTERRUPT // ignore hold mod if another tap occurs within tapping term
#define PERMISSIVE_HOLD_PER_KEY // activate mod top hold earlier if another key is pressed AND released per key
-#define TAPPING_FORCE_HOLD_PER_KEY // disable double tap hold key repeat per key
+#define QUICK_TAP_TERM_PER_KEY // disable double tap hold key repeat per key
#undef MOUSEKEY_INTERVAL
#undef MOUSEKEY_DELAY
#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) {
}
// Tapping force hold per key
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case LT(3, KC_SPC):
- return true; // Enable force hold
- case LT(2, KC_TAB):
- return true;
- default:
- return false; // Disable force hold
- }
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LT(3, KC_SPC):
+ return 0; // Enable force hold
+ case LT(2, KC_TAB):
+ return 0;
+ default:
+ return QUICK_TAP_TERM; // Disable force hold
+ }
}
// 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 @@
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#define RETRO_TAPPING
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
\ No newline at end of file
+#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 .
#pragma once
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
/* 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 .
#pragma once
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 @@
#define SWAP_SCLN
-#undef TAPPING_FORCE_HOLD
+#undef QUICK_TAP_TERM
#undef TAPPING_TERM
#define TAPPING_TERM 300
#define IGNORE_MOD_TAP_INTERRUPT
@@ -11,13 +11,13 @@
// Selection of RGBLIGHT MODE to use.
#if defined(LED_ANIMATIONS)
-//# define RGBLIGHT_EFFECT_BREATHING
-//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
-//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-//# define RGBLIGHT_EFFECT_SNAKE
-//# define RGBLIGHT_EFFECT_KNIGHT
-//# define RGBLIGHT_EFFECT_CHRISTMAS
+// # define RGBLIGHT_EFFECT_BREATHING
+// # define RGBLIGHT_EFFECT_RAINBOW_MOOD
+// # define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+// # define RGBLIGHT_EFFECT_SNAKE
+// # define RGBLIGHT_EFFECT_KNIGHT
+// # define RGBLIGHT_EFFECT_CHRISTMAS
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
-//# define RGBLIGHT_EFFECT_RGB_TEST
-//# define RGBLIGHT_EFFECT_ALTERNATING
-#endif // LED_ANIMATIONS
+// # define RGBLIGHT_EFFECT_RGB_TEST
+// # define RGBLIGHT_EFFECT_ALTERNATING
+#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 .
// #define MASTER_RIGHT
#define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 300
#define PERMISSIVE_HOLD
#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 .
// Had to swap the master to get the right-side rotary encoder supported
#define MASTER_RIGHT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#undef TAPPING_TERM
#define TAPPING_TERM 200
#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 .
#define RGBLIGHT_VAL_STEP 8
// #undef PERMISSIVE_HOLD
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define RETRO_TAPPING
#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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Mouse key speed and acceleration.
#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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Auto Shift
#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 @@
// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
// #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
// #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
-// #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)
+// #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)
// #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.
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
// #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 @@
// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
// #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
// #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
-// #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)
+// #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)
// #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.
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
// #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 @@
#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.
-#define TAPPING_FORCE_HOLD
+#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)
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 @@
#define MASTER_LEFT
// #define EE_HANDS
- #define TAPPING_FORCE_HOLD
+ #define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 .
// #define SSD1306OLED
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
/* define tapping term */
#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 .
// #define SSD1306OLED
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 50
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
// #define SSD1306OLED
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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
#define ENCODERS_PAD_B { F5 }
#define ENCODER_RESOLUTION 4
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
#define MASTER_LEFT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#pragma once
#define TAPPING_TERM 200
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define PERMISSIVE_HOLD
#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 .
#define SSD1306OLED
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#undef TAPPING_TERM
#define TAPPING_TERM 200
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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#undef RGBLED_NUM
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 .
#define IGNORE_MOD_TAP_INTERRUPT
#define PERMISSIVE_HOLD
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define OLED_FONT_H "keyboards/lily58/lib/glcdfont.c"
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
// 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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
//#define OLED_DRIVER
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
// optional configuration:
// #define CONVERT_TO_PROTON_C
-// #define ONESHOT_TAP_TOGGLE 2 // not compatible with TAPPING_FORCE_HOLD
+// #define ONESHOT_TAP_TOGGLE 2 // not compatible with QUICK_TAP_TERM 0
// #define PERMISSIVE_HOLD
-// #define TAPPING_FORCE_HOLD // allows rapid mod use after tap event, but sacrifices double-tap to repeat
+// #define QUICK_TAP_TERM 0 // allows rapid mod use after tap event, but sacrifices double-tap to repeat
// #define MOUSEKEY_DELAY 0 // delay before cursor movement (high feels sluggish, low makes fine movement difficult)
// #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 @@
// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
// #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
// #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
-// #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)
+// #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)
// #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.
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
// #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 @@
// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
// #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
// #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
-// #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)
+// #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)
// #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.
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
// #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 @@
#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
// #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
// #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
-// #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)
+// #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)
// #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.
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
// #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 .
// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
// #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
// #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
-// #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)
+// #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)
// #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.
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
// #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 @@
#define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
// #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
// #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
-// #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)
+// #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)
// #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.
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
// #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 .
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#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 @@
#pragma once
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define PERMISSIVE_HOLD
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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#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 @@
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
-#define TAPPING_FORCE_HOLD
-#define TAPPING_FORCE_HOLD_PER_KEY
+#define QUICK_TAP_TERM 0
+#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) {
return true;
}
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case SHFTESC:
case NUMSPAC:
@@ -249,9 +249,9 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
case CTL__J:
case CTL__T:
case CTL__N:
- return true;
+ return 0;
default:
- return false;
+ return QUICK_TAP_TERM;
}
}
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 @@
#define TAPPING_TERM_PER_KEY
//#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD_PER_KEY
+#define QUICK_TAP_TERM_PER_KEY
// settings for LEADER key
#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) {
}
}
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case LSFT_T(KC_S):
- return true;
+ return 0;
case RSFT_T(KC_E):
- return true;
+ return 0;
case LSFT_T(KC_D):
- return true;
+ return 0;
case RSFT_T(KC_K):
- return true;
+ return 0;
case LSFT_T(KC_F):
- return true;
+ return 0;
case RSFT_T(KC_U):
- return true;
+ return 0;
case LT(_RAISE, KC_ENT):
- return true;
+ return 0;
case LT(_RAISE_DE, KC_ENT):
- return true;
+ return 0;
case LT(_LOWER, KC_BSPC):
- return true;
+ return 0;
case LT(_LOWER_DE, KC_BSPC):
- return true;
+ return 0;
default:
- return false;
+ return QUICK_TAP_TERM;
}
}
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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#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 @@
* MACRO per-key options
*/
#define RETRO_TAPPING_PER_KEY // Control Retro-Tap individually by key
-#define TAPPING_FORCE_HOLD_PER_KEY // Control Force-Hold individually by key
+#define QUICK_TAP_TERM_PER_KEY // Control Quick-Tap individually by key
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY // Control Mod-Tap-Interrupt individually by key
#define PERMISSIVE_HOLD_PER_KEY // Control Permissive-Hold individually by key
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) {
return false;
}
}
-// Handles per-key configuration of Tapping Force-Hold
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t* record) {
+// Handles per-key configuration of Quick-Tap
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) {
switch (keycode) {
default:
- return false;
+ return QUICK_TAP_TERM;
}
}
// 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 @@
Set any config.h overrides for your specific keymap here.
See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file
*/
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define IGNORE_MOD_TAP_INTERRUPT
#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 @@
#define ENCODER_RESOLUTION 2
#define COMBO_COUNT 6
#define COMBO_TERM 50
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#define COMBO_COUNT 2
#define COMBO_TERM 50
-#define TAPPING_FORCE_HOLD
+#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 @@
#define COMBO_COUNT 2
#define COMBO_TERM 50
-#define TAPPING_FORCE_HOLD
+#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 @@
#pragma once
// Xulkal custom stuff
-#undef TAPPING_FORCE_HOLD
+#undef QUICK_TAP_TERM
#undef TAPPING_TERM
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
//#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
#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 @@
#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#ifdef TAPPING_TERM
#undef TAPPING_TERM
#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 @@
#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#ifdef TAPPING_TERM
#undef TAPPING_TERM
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
/* Select hand configuration */
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 @@
#define ENCODER_RESOLUTION 2
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 200
#define AUTO_SHIFT_TIMEOUT 150
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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Reduce firmware size
// 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 @@
// Prevent normal rollover on alphas from accidentally triggering mods.
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
\ No newline at end of file
+#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 @@
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Allows to use either side as the master. Look at the documentation for info:
// https://docs.qmk.fm/#/config_options?id=setting-handedness
#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 @@
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#define NO_ACTION_ONESHOT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#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 .
#define TAPPING_TERM 350
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define LEADER_PER_KEY_TIMING
#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 @@
// help for fast typist+dual function keys?
#define PERMISSIVE_HOLD
// Let me type `ls -l` more quickly.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// where is the cord plugged in?
#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 .
// #define MASTER_RIGHT
// #define EE_HANDS
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
#define OLED_DISPLAY_128X64
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
#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 .
//#define BOOTMAGIC_LITE_COLUMN 0
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 132
#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 .
//#define BOOTMAGIC_LITE_COLUMN 0
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#define TAPPING_TERM 132
#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 .
#define TAPPING_TERM 350
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
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 @@
#undef USE_I2C
#undef SSD1306OLED
-// #define TAPPING_FORCE_HOLD
+// #define QUICK_TAP_TERM 0
// #define TAPPING_TERM 100
#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 @@
# define IS_TAPPING_RECORD(r) (IS_TAPPING() && KEYEQ(tapping_key.event.key, (r->event.key)) && tapping_key.keycode == r->keycode)
# endif
# 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))
+# 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))
# ifdef DYNAMIC_TAPPING_TERM_ENABLE
uint16_t g_tapping_term = TAPPING_TERM;
@@ -40,9 +41,9 @@ __attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *r
}
# endif
-# ifdef TAPPING_FORCE_HOLD_PER_KEY
-__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
- return false;
+# ifdef QUICK_TAP_TERM_PER_KEY
+__attribute__((weak)) uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
+ return QUICK_TAP_TERM;
}
# endif
@@ -121,7 +122,7 @@ void action_tapping_process(keyrecord_t record) {
* readable. The conditional definition of tapping_keycode and all the
* conditional uses of it are hidden inside macros named TAP_...
*/
-# 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)
+# 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)
# define TAP_DEFINE_KEYCODE uint16_t tapping_keycode = get_record_keycode(&tapping_key, false)
# else
# define TAP_DEFINE_KEYCODE
@@ -169,14 +170,6 @@ void action_tapping_process(keyrecord_t record) {
# define TAP_GET_IGNORE_MOD_TAP_INTERRUPT false
# endif
-# ifdef TAPPING_FORCE_HOLD_PER_KEY
-# define TAP_GET_TAPPING_FORCE_HOLD get_tapping_force_hold(tapping_keycode, &tapping_key)
-# elif defined(TAPPING_FORCE_HOLD)
-# define TAP_GET_TAPPING_FORCE_HOLD true
-# else
-# define TAP_GET_TAPPING_FORCE_HOLD false
-# endif
-
/** \brief Tapping
*
* Rule: Tap key is typed(pressed and released) within TAPPING_TERM.
@@ -385,7 +378,7 @@ bool process_tapping(keyrecord_t *keyp) {
if (WITHIN_TAPPING_TERM(event) || MAYBE_RETRO_SHIFTING(event)) {
if (event.pressed) {
if (IS_TAPPING_RECORD(keyp)) {
- if (!TAP_GET_TAPPING_FORCE_HOLD && !tapping_key.tap.interrupted && tapping_key.tap.count > 0) {
+ if (WITHIN_QUICK_TAP_TERM(event) && !tapping_key.tap.interrupted && tapping_key.tap.count > 0) {
// sequential tap.
keyp->tap = tapping_key.tap;
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 .
# define TAPPING_TERM 200
#endif
+/* period of quick tap(ms) */
+#if !defined(QUICK_TAP_TERM) || QUICK_TAP_TERM > TAPPING_TERM
+# define QUICK_TAP_TERM TAPPING_TERM
+#endif
+
/* tap count needed for toggling a feature */
#ifndef TAPPING_TOGGLE
# define TAPPING_TOGGLE 5
@@ -36,9 +41,9 @@ void action_tapping_process(keyrecord_t record);
#endif
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record);
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record);
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record);
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record);
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record);
bool get_retro_tapping(uint16_t keycode, keyrecord_t *record);
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record);
@@ -53,3 +58,9 @@ extern uint16_t g_tapping_term;
#else
# define GET_TAPPING_TERM(keycode, record) (TAPPING_TERM)
#endif
+
+#ifdef QUICK_TAP_TERM_PER_KEY
+# define GET_QUICK_TAP_TERM(keycode, record) get_quick_tap_term(keycode, record)
+#else
+# define GET_QUICK_TAP_TERM(keycode, record) (QUICK_TAP_TERM)
+#endif
diff --git a/tests/tap_hold_configurations/tapping_force_hold/config.h b/tests/tap_hold_configurations/quick_tap/config.h
similarity index 96%
rename from tests/tap_hold_configurations/tapping_force_hold/config.h
rename to 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 @@
#include "test_common.h"
-#define TAPPING_FORCE_HOLD
\ No newline at end of file
+#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
similarity index 100%
rename from tests/tap_hold_configurations/tapping_force_hold/test.mk
rename to 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
similarity index 98%
rename from tests/tap_hold_configurations/tapping_force_hold/test_action_layer.cpp
rename to 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) {
run_one_scan_loop();
expect_layer_state(0);
+ idle_for(QUICK_TAP_TERM + 10);
+
layer_key.press();
run_one_scan_loop();
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
similarity index 51%
rename from tests/tap_hold_configurations/tapping_force_hold/test_tap_hold.cpp
rename to 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 @@
-
/* Copyright 2021 Stefan Kerkmann
*
* This program is free software: you can redistribute it and/or modify
@@ -15,6 +14,7 @@
* along with this program. If not, see .
*/
+#include "config.h"
#include "keyboard_report_util.hpp"
#include "keycode.h"
#include "test_common.hpp"
@@ -25,19 +25,19 @@
using testing::_;
using testing::InSequence;
-class TappingForceHold : public TestFixture {};
+class QuickTap : public TestFixture {};
-TEST_F(TappingForceHold, tap_regular_key_while_mod_tap_key_is_held) {
+TEST_F(QuickTap, tap_regular_key_while_mod_tap_key_is_held) {
TestDriver driver;
InSequence s;
- auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
auto regular_key = KeymapKey(0, 2, 0, KC_A);
- set_keymap({mod_tap_hold_key, regular_key});
+ set_keymap({mod_tap_key, regular_key});
- /* Press mod-tap-hold key. */
+ /* Press mod-tap key. */
EXPECT_NO_REPORT(driver);
- mod_tap_hold_key.press();
+ mod_tap_key.press();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
@@ -53,9 +53,9 @@ TEST_F(TappingForceHold, tap_regular_key_while_mod_tap_key_is_held) {
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Release mod-tap-hold key. */
+ /* Release mod-tap key. */
EXPECT_REPORT(driver, (KC_LSFT));
- mod_tap_hold_key.release();
+ mod_tap_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
@@ -67,39 +67,39 @@ TEST_F(TappingForceHold, tap_regular_key_while_mod_tap_key_is_held) {
testing::Mock::VerifyAndClearExpectations(&driver);
}
-TEST_F(TappingForceHold, tap_mod_tap_key_while_mod_tap_key_is_held) {
+TEST_F(QuickTap, tap_mod_tap_key_while_mod_tap_key_is_held) {
TestDriver driver;
InSequence s;
- auto first_mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
- auto second_mod_tap_hold_key = KeymapKey(0, 2, 0, RSFT_T(KC_A));
+ auto first_mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
+ auto second_mod_tap_key = KeymapKey(0, 2, 0, RSFT_T(KC_A));
- set_keymap({first_mod_tap_hold_key, second_mod_tap_hold_key});
+ set_keymap({first_mod_tap_key, second_mod_tap_key});
- /* Press first mod-tap-hold key */
+ /* Press first mod-tap key */
EXPECT_NO_REPORT(driver);
- first_mod_tap_hold_key.press();
+ first_mod_tap_key.press();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Press second tap-hold key */
+ /* Press second mod-tap key */
EXPECT_NO_REPORT(driver);
- second_mod_tap_hold_key.press();
+ second_mod_tap_key.press();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
/* Release second tap-hold key */
EXPECT_NO_REPORT(driver);
- second_mod_tap_hold_key.release();
+ second_mod_tap_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Release first mod-tap-hold key */
+ /* Release first mod-tap key */
EXPECT_REPORT(driver, (KC_LSFT));
- first_mod_tap_hold_key.release();
+ first_mod_tap_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Idle for tapping term of first mod tap hold key. */
+ /* Idle for tapping term of first mod-tap key. */
EXPECT_REPORT(driver, (KC_LSFT, KC_A));
EXPECT_REPORT(driver, (KC_LSFT));
EXPECT_EMPTY_REPORT(driver);
@@ -107,18 +107,18 @@ TEST_F(TappingForceHold, tap_mod_tap_key_while_mod_tap_key_is_held) {
testing::Mock::VerifyAndClearExpectations(&driver);
}
-TEST_F(TappingForceHold, tap_regular_key_while_layer_tap_key_is_held) {
+TEST_F(QuickTap, tap_regular_key_while_layer_tap_key_is_held) {
TestDriver driver;
InSequence s;
- auto layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P));
+ auto layer_tap_key = KeymapKey(0, 1, 0, LT(1, KC_P));
auto regular_key = KeymapKey(0, 2, 0, KC_A);
auto layer_key = KeymapKey(1, 2, 0, KC_B);
- set_keymap({layer_tap_hold_key, regular_key, layer_key});
+ set_keymap({layer_tap_key, regular_key, layer_key});
- /* Press layer-tap-hold key */
+ /* Press layer-tap key */
EXPECT_NO_REPORT(driver);
- layer_tap_hold_key.press();
+ layer_tap_key.press();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
@@ -134,80 +134,158 @@ TEST_F(TappingForceHold, tap_regular_key_while_layer_tap_key_is_held) {
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Release layer-tap-hold key */
+ /* Release layer-tap key */
EXPECT_REPORT(driver, (KC_P));
EXPECT_REPORT(driver, (KC_A, KC_P));
EXPECT_REPORT(driver, (KC_P));
EXPECT_EMPTY_REPORT(driver);
- layer_tap_hold_key.release();
+ layer_tap_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
}
-TEST_F(TappingForceHold, tap_mod_tap_hold_key_two_times) {
+TEST_F(QuickTap, tap_key_and_tap_again_before_quick_tap_term) {
TestDriver driver;
InSequence s;
- auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
- set_keymap({mod_tap_hold_key});
+ set_keymap({mod_tap_key});
- /* Press mod-tap-hold key. */
+ /* Press mod-tap key. */
EXPECT_NO_REPORT(driver);
- mod_tap_hold_key.press();
+ mod_tap_key.press();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Release mod-tap-hold key. */
+ /* Release mod-tap key. */
EXPECT_REPORT(driver, (KC_P));
EXPECT_EMPTY_REPORT(driver);
- mod_tap_hold_key.release();
+ mod_tap_key.release();
+ idle_for(QUICK_TAP_TERM - 10);
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Press mod-tap-hold key again. */
- EXPECT_NO_REPORT(driver);
- mod_tap_hold_key.press();
- run_one_scan_loop();
- testing::Mock::VerifyAndClearExpectations(&driver);
-
- /* Release mod-tap-hold key. */
+ /* Press and tap mod-tap key again. */
EXPECT_REPORT(driver, (KC_P));
+ mod_tap_key.press();
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Release mod-tap key. */
EXPECT_EMPTY_REPORT(driver);
- mod_tap_hold_key.release();
+ mod_tap_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
}
-TEST_F(TappingForceHold, tap_mod_tap_hold_key_twice_and_hold_on_second_time) {
+TEST_F(QuickTap, tap_key_and_hold_again_before_quick_tap_term) {
TestDriver driver;
InSequence s;
- auto mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
- set_keymap({mod_tap_hold_key});
+ set_keymap({mod_tap_key});
- /* Press mod-tap-hold key. */
+ /* Press mod-tap key. */
EXPECT_NO_REPORT(driver);
- mod_tap_hold_key.press();
+ mod_tap_key.press();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Release mod-tap-hold key. */
+ /* Release mod-tap key. */
EXPECT_REPORT(driver, (KC_P));
EXPECT_EMPTY_REPORT(driver);
- mod_tap_hold_key.release();
+ mod_tap_key.release();
+ idle_for(QUICK_TAP_TERM - 10);
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Press and hold mod-tap key again. */
+ EXPECT_REPORT(driver, (KC_P));
+ mod_tap_key.press();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Press mod-tap-hold key again. */
+ /* Wait until tapping term expired */
EXPECT_NO_REPORT(driver);
- mod_tap_hold_key.press();
idle_for(TAPPING_TERM);
testing::Mock::VerifyAndClearExpectations(&driver);
- /* Release mod-tap-hold key. */
- EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
+ /* Release mod-tap key. */
EXPECT_EMPTY_REPORT(driver);
- mod_tap_hold_key.release();
+ mod_tap_key.release();
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+}
+
+
+TEST_F(QuickTap, tap_key_and_tap_again_after_quick_tap_term) {
+ TestDriver driver;
+ InSequence s;
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
+
+ set_keymap({mod_tap_key});
+
+ /* Press mod-tap key. */
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key.press();
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Release mod-tap key. */
+ EXPECT_REPORT(driver, (KC_P));
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
+ idle_for(QUICK_TAP_TERM + 10);
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Press mod-tap key again. */
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key.press();
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Release mod-tap key. */
+ EXPECT_REPORT(driver, (KC_P));
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+}
+
+TEST_F(QuickTap, tap_key_and_hold_again_after_quick_tap_term) {
+ TestDriver driver;
+ InSequence s;
+ auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
+
+ set_keymap({mod_tap_key});
+
+ /* Press mod-tap key. */
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key.press();
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Release mod-tap key. */
+ EXPECT_REPORT(driver, (KC_P));
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
+ idle_for(QUICK_TAP_TERM + 10);
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Press and hold mod-tap key again. */
+ EXPECT_NO_REPORT(driver);
+ mod_tap_key.press();
+ run_one_scan_loop();
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Wait until tapping term expired */
+ EXPECT_REPORT(driver, (KC_LSFT));
+ idle_for(TAPPING_TERM);
+ testing::Mock::VerifyAndClearExpectations(&driver);
+
+ /* Release mod-tap key. */
+ EXPECT_EMPTY_REPORT(driver);
+ mod_tap_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
}
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 @@
/* Turn off key repeat support of the tap keycode for tap-hold keys, enabling
* holds to work correctly in quick succession after taps.
*/
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
#if defined(OLED_ENABLE)
/* 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 @@
#define TAPPING_TOGGLE 1
#define TAPPING_TERM 200
#define TAPPING_TERM_PER_KEY
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
#undef PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
#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 @@
#if defined(PER_KEY_TAPPING)
# define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
# define PERMISSIVE_HOLD_PER_KEY
-# define TAPPING_FORCE_HOLD_PER_KEY
+# define QUICK_TAP_TERM_PER_KEY
# define HOLD_ON_OTHER_KEY
# define RETRO_TAPPING_PER_KEY
# 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
}
#endif // IGNORE_MOD_TAP_INTERRUPT_PER_KEY
-#ifdef TAPPING_FORCE_HOLD_PER_KEY
-__attribute__((weak)) bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
+#ifdef QUICK_TAP_TERM_PER_KEY
+__attribute__((weak)) uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
default:
- return false;
+ return QUICK_TAP_TERM;
}
}
-#endif // TAPPING_FORCE_HOLD_PER_KEY
+#endif // QUICK_TAP_TERM_PER_KEY
#ifdef RETRO_TAPPING_PER_KEY
__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 @@
#define ONESHOT_TIMEOUT 3000
#define IGNORE_MOD_TAP_INTERRUPT
#define PERMISSIVE_HOLD_PER_KEY
-#define TAPPING_FORCE_HOLD_PER_KEY
+#define QUICK_TAP_TERM_PER_KEY
#define TAPPING_TERM 200
#define BACKLIGHT_BREATHING
#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) {
return true;
}
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case MT_A:
case MT_S:
@@ -39,9 +39,9 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
case MT_K:
case MT_L:
case MT_SCLN:
- return true;
+ return 0;
default:
- return false;
+ return QUICK_TAP_TERM;
}
}
@@ -55,4 +55,3 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
return false;
}
}
-
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 @@
// actually sends Ctrl-x. That's bad.)
#define IGNORE_MOD_TAP_INTERRUPT
#undef PERMISSIVE_HOLD
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define RETRO_TAPPING
#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 @@
#define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-#define TAPPING_FORCE_HOLD
+#define QUICK_TAP_TERM 0
// Auto Shift
#define NO_AUTO_SHIFT_ALPHA
@@ -40,4 +40,3 @@
#define COMBO_TERM 200
#define EXTRA_SHORT_COMBOS
#endif
-
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 @@
# define IGNORE_MOD_TAP_INTERRUPT
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
-# define TAPPING_FORCE_HOLD
+# define QUICK_TAP_TERM 0
#endif
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 @@
#define TAPPING_TERM 175
#define MACRO_TIMER 5
-#define TAPPING_FORCE_HOLD_PER_KEY
+#define QUICK_TAP_TERM_PER_KEY
// testing
#define TAPPING_TERM_PER_KEY
//#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) {
}
};
-bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case NM(SCLN):
- return true;
- default:
- return false;
- }
+uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case NM(SCLN):
+ return 0;
+ default:
+ return QUICK_TAP_TERM;
+ }
}
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 @@
#define TAPPING_TOGGLE 2 // number of taps for a toggle-on-tap
#define TAPPING_TERM 170 // ms to trigger tap
// https://precondition.github.io/home-row-mods
-#define TAPPING_FORCE_HOLD // make tap-then-hold _not_ do key auto repeat
+#define QUICK_TAP_TERM 0 // make tap-then-hold _not_ do key auto repeat
#define IGNORE_MOD_TAP_INTERRUPT
#define PERMISSIVE_HOLD // I don't think this works for me, hence I rolled my own implementation.
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 @@
// actually sends Ctrl-x. That's bad.)
#define IGNORE_MOD_TAP_INTERRUPT
#undef PERMISSIVE_HOLD
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define RETRO_TAPPING
#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 @@
#pragma once
-#undef TAPPING_FORCE_HOLD
-
#undef TAPPING_TERM
#define TAPPING_TERM 175
+#undef QUICK_TAP_TERM
+#define QUICK_TAP_TERM TAPPING_TERM
+
#define SPACE_CADET_MODIFIER_CARRYOVER
#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC
#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 @@
// actually sends Ctrl-x. That's bad.)
#define IGNORE_MOD_TAP_INTERRUPT
#undef PERMISSIVE_HOLD
-//#define TAPPING_FORCE_HOLD
+//#define QUICK_TAP_TERM 0
//#define RETRO_TAPPING
#ifndef TAPPING_TOGGLE