summaryrefslogtreecommitdiffstats
path: root/quantum/action_tapping.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/action_tapping.c')
-rw-r--r--quantum/action_tapping.c34
1 files changed, 15 insertions, 19 deletions
diff --git a/quantum/action_tapping.c b/quantum/action_tapping.c
index 6f8b4f8c56..3c8b5678b7 100644
--- a/quantum/action_tapping.c
+++ b/quantum/action_tapping.c
@@ -1,10 +1,5 @@
#include <stdint.h>
#include <stdbool.h>
-#include "action.h"
-#include "action_layer.h"
-#include "action_tapping.h"
-#include "keycode.h"
-#include "timer.h"
#ifdef DEBUG_ACTION
# include "debug.h"
@@ -12,6 +7,12 @@
# include "nodebug.h"
#endif
+#include "action.h"
+#include "action_layer.h"
+#include "action_tapping.h"
+#include "keycode.h"
+#include "timer.h"
+
#ifndef NO_ACTION_TAPPING
# define IS_TAPPING() !IS_NOEVENT(tapping_key.event)
@@ -23,17 +24,20 @@
# else
# 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))
+# ifdef DYNAMIC_TAPPING_TERM_ENABLE
uint16_t g_tapping_term = TAPPING_TERM;
+# endif
+# ifdef TAPPING_TERM_PER_KEY
__attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
+# ifdef DYNAMIC_TAPPING_TERM_ENABLE
return g_tapping_term;
+# else
+ return TAPPING_TERM;
+# endif
}
-
-# ifdef TAPPING_TERM_PER_KEY
-# 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))
-# else
-# define WITHIN_TAPPING_TERM(e) (TIMER_DIFF_16(e.time, tapping_key.event.time) < g_tapping_term)
# endif
# ifdef TAPPING_FORCE_HOLD_PER_KEY
@@ -164,15 +168,7 @@ bool process_tapping(keyrecord_t *keyp) {
else if (
(
(
- (
-# ifdef TAPPING_TERM_PER_KEY
- get_tapping_term(tapping_keycode, &tapping_key)
-# else
- g_tapping_term
-# endif
- >= 500
- )
-
+ GET_TAPPING_TERM(tapping_keycode, &tapping_key) >= 500
# ifdef PERMISSIVE_HOLD_PER_KEY
|| get_permissive_hold(tapping_keycode, &tapping_key)
# elif defined(PERMISSIVE_HOLD)