summary refs log tree commit diff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-09-12 23:48:41 +0000
committerQMK Bot <hello@qmk.fm>2021-09-12 23:48:41 +0000
commitd2eb9c03afee98505c6ed15b66c96b9b98146f6c (patch)
tree1dfb30fb4e4ab19b02a0e49ef9095ea3bc04410a
parent2bafc7a4b04e5e2fb974bdfda0aae1609fd9ec0a (diff)
parentab34ecb66993f0cb7fc2a6aa960d0d0c4bafb773 (diff)
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--quantum/action.c6
-rw-r--r--quantum/action.h7
-rw-r--r--quantum/process_keycode/process_tap_dance.c2
3 files changed, 9 insertions, 6 deletions
diff --git a/quantum/action.c b/quantum/action.c
index d19fd2a045..be135f18f2 100644
--- a/quantum/action.c
+++ b/quantum/action.c
@@ -57,12 +57,6 @@ __attribute__((weak)) bool get_retro_tapping(uint16_t keycode, keyrecord_t *reco
 
 __attribute__((weak)) bool pre_process_record_quantum(keyrecord_t *record) { return true; }
 
-#ifndef TAP_CODE_DELAY
-#    define TAP_CODE_DELAY 0
-#endif
-#ifndef TAP_HOLD_CAPS_DELAY
-#    define TAP_HOLD_CAPS_DELAY 80
-#endif
 /** \brief Called to execute an action.
  *
  * FIXME: Needs documentation.
diff --git a/quantum/action.h b/quantum/action.h
index 3d357b33b8..8a357ded87 100644
--- a/quantum/action.h
+++ b/quantum/action.h
@@ -38,6 +38,13 @@ extern "C" {
 #    endif
 #endif
 
+#ifndef TAP_CODE_DELAY
+#    define TAP_CODE_DELAY 0
+#endif
+#ifndef TAP_HOLD_CAPS_DELAY
+#    define TAP_HOLD_CAPS_DELAY 80
+#endif
+
 /* tapping count and state */
 typedef struct {
     bool    interrupted : 1;
diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c
index c8712d919f..225b36cd5f 100644
--- a/quantum/process_keycode/process_tap_dance.c
+++ b/quantum/process_keycode/process_tap_dance.c
@@ -44,6 +44,7 @@ void qk_tap_dance_pair_finished(qk_tap_dance_state_t *state, void *user_data) {
 void qk_tap_dance_pair_reset(qk_tap_dance_state_t *state, void *user_data) {
     qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
 
+    wait_ms(TAP_CODE_DELAY);
     if (state->count == 1) {
         unregister_code16(pair->kc1);
     } else if (state->count == 2) {
@@ -74,6 +75,7 @@ void qk_tap_dance_dual_role_reset(qk_tap_dance_state_t *state, void *user_data)
     qk_tap_dance_dual_role_t *pair = (qk_tap_dance_dual_role_t *)user_data;
 
     if (state->count == 1) {
+        wait_ms(TAP_CODE_DELAY);
         unregister_code16(pair->kc);
     }
 }