Apply TAP_CODE_DELAY to Tap Dance key sequences (#14412)

* Add  support to tap dances

* Move default tap code defines to header file
This commit is contained in:
Drashna Jaelre 2021-09-12 16:48:11 -07:00 committed by GitHub
parent 10362777a5
commit ab34ecb669
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 6 deletions

View file

@ -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; } __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. /** \brief Called to execute an action.
* *
* FIXME: Needs documentation. * FIXME: Needs documentation.

View file

@ -38,6 +38,13 @@ extern "C" {
# endif # endif
#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 */ /* tapping count and state */
typedef struct { typedef struct {
bool interrupted : 1; bool interrupted : 1;

View file

@ -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) { 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; qk_tap_dance_pair_t *pair = (qk_tap_dance_pair_t *)user_data;
wait_ms(TAP_CODE_DELAY);
if (state->count == 1) { if (state->count == 1) {
unregister_code16(pair->kc1); unregister_code16(pair->kc1);
} else if (state->count == 2) { } 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; qk_tap_dance_dual_role_t *pair = (qk_tap_dance_dual_role_t *)user_data;
if (state->count == 1) { if (state->count == 1) {
wait_ms(TAP_CODE_DELAY);
unregister_code16(pair->kc); unregister_code16(pair->kc);
} }
} }