summaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2021-01-04 16:37:20 -0800
committerGitHub <noreply@github.com>2021-01-04 16:37:20 -0800
commit810eafad121bda333c53490e2d8a29f3a83d9c19 (patch)
tree975b8bd9c846d13f30da944e873326e0e0f69fa8 /quantum
parentc38fe492426676cf101eeb024f7f33d8e98c445f (diff)
downloadqmk_firmware-810eafad121bda333c53490e2d8a29f3a83d9c19.tar.gz
qmk_firmware-810eafad121bda333c53490e2d8a29f3a83d9c19.zip
Fix Tap-Hold Configs (#11127)
* Add proper prototypes for Tap-Hold Per Key functions * Fix handwired/tennie default keymap * Remove unneeded references * Fix tapping term per key check in space cadet * Pre-emptive fix for tap dance * Fix marksard/leftover30 * Replace hard coded tapping term with define
Diffstat (limited to 'quantum')
-rw-r--r--quantum/process_keycode/process_space_cadet.c11
-rw-r--r--quantum/process_keycode/process_space_cadet.h3
-rw-r--r--quantum/process_keycode/process_tap_dance.c5
-rw-r--r--quantum/quantum.h1
4 files changed, 11 insertions, 9 deletions
diff --git a/quantum/process_keycode/process_space_cadet.c b/quantum/process_keycode/process_space_cadet.c
index bcaf62a964..f99db2a87b 100644
--- a/quantum/process_keycode/process_space_cadet.c
+++ b/quantum/process_keycode/process_space_cadet.c
@@ -16,10 +16,6 @@
#include "process_space_cadet.h"
#include "action_tapping.h"
-#ifdef NO_ACTION_TAPPING
-__attribute__((weak)) uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { return TAPPING_TERM; };
-#endif
-
// ********** OBSOLETE DEFINES, STOP USING! (pls?) **********
// Shift / paren setup
#ifndef LSPO_KEY
@@ -97,7 +93,12 @@ void perform_space_cadet(keyrecord_t *record, uint16_t sc_keycode, uint8_t holdM
register_mods(MOD_BIT(holdMod));
}
} else {
- if (sc_last == holdMod && timer_elapsed(sc_timer) < get_tapping_term(sc_keycode, record)) {
+#ifdef TAPPING_TERM_PER_KEY
+ if (sc_last == holdMod && timer_elapsed(sc_timer) < get_tapping_term(sc_keycode, record))
+#else
+ if (sc_last == holdMod && timer_elapsed(sc_timer) < TAPPING_TERM)
+#endif
+ {
if (holdMod != tapMod) {
if (IS_MOD(holdMod)) {
unregister_mods(MOD_BIT(holdMod));
diff --git a/quantum/process_keycode/process_space_cadet.h b/quantum/process_keycode/process_space_cadet.h
index 3ace073997..fcb70f3b43 100644
--- a/quantum/process_keycode/process_space_cadet.h
+++ b/quantum/process_keycode/process_space_cadet.h
@@ -19,6 +19,3 @@
void perform_space_cadet(keyrecord_t *record, uint16_t sc_keycode, uint8_t holdMod, uint8_t tapMod, uint8_t keycode);
bool process_space_cadet(uint16_t keycode, keyrecord_t *record);
-#ifdef NO_ACTION_TAPPING
-uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record);
-#endif
diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c
index 0c7b6353eb..138de0eba2 100644
--- a/quantum/process_keycode/process_tap_dance.c
+++ b/quantum/process_keycode/process_tap_dance.c
@@ -14,7 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "quantum.h"
-#include "action_tapping.h"
#ifndef NO_ACTION_ONESHOT
uint8_t get_oneshot_mods(void);
@@ -167,7 +166,11 @@ void matrix_scan_tap_dance() {
if (action->custom_tapping_term > 0) {
tap_user_defined = action->custom_tapping_term;
} else {
+#ifdef TAPPING_TERM_PER_KEY
tap_user_defined = get_tapping_term(action->state.keycode, NULL);
+#else
+ tap_user_defined = TAPPING_TERM;
+#endif
}
if (action->state.count && timer_elapsed(action->state.timer) > tap_user_defined) {
process_tap_dance_action_on_dance_finished(action);
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 3e09df4f88..f4df5bf155 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -56,6 +56,7 @@
#include "config_common.h"
#include "led.h"
#include "action_util.h"
+#include "action_tapping.h"
#include "print.h"
#include "send_string_keycodes.h"
#include "suspend.h"