diff options
author | Albert Y <[email protected]> | 2022-12-12 23:52:22 +0800 |
---|---|---|
committer | GitHub <[email protected]> | 2022-12-12 16:52:22 +0100 |
commit | cbabc8dbe6a8476d3082e8bc649d330f87e7b904 (patch) | |
tree | 55e73275367047981295d046867d9f70352814c7 /quantum/action_tapping.h | |
parent | 8698d109d7c2f4554e0f3c01b017738a0a47f162 (diff) | |
download | qmk_firmware-cbabc8dbe6a8476d3082e8bc649d330f87e7b904.tar.gz qmk_firmware-cbabc8dbe6a8476d3082e8bc649d330f87e7b904.zip |
[Core] Replace Tapping Force Hold feature with Quick Tap Term (#17007)
* Replace Tapping Force Hold feature with Quick Tap Term
* Replace keyboard level TAPPING_FORCE_HOLD with QUICK_TAP_TERM 0
* Deprecate force hold in info_config.json
* Before and after quick tap term unit tests
* Quick tap unit tests iteration
* Keymap config.h correction
* Remove TAPPING_FORCE_HOLD_PER_KEY macros that were missed
* Add two more test cases for quick tap
* Replace TAPPING_FORCE_HOLD with QUICK_TAP_TERM in configs #2
* Replace TAPPING_FORCE_HOLD_PER_KEY with QUICK_TAP_TERM_PER_KEY in configs #2
* Add function declaration for get_quick_tap_term
Co-authored-by: Stefan Kerkmann <[email protected]>
Diffstat (limited to 'quantum/action_tapping.h')
-rw-r--r-- | quantum/action_tapping.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/quantum/action_tapping.h b/quantum/action_tapping.h index bcccc7ac45..c078488c04 100644 --- a/quantum/action_tapping.h +++ b/quantum/action_tapping.h @@ -22,6 +22,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. # 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 |