Browse Source

Apply `TAP_CODE_DELAY` to Tap Dance key sequences (#14412)

* Add  support to tap dances

* Move default tap code defines to header file
pull/14423/head 0.14.15
Drashna Jaelre 2 years ago
committed by GitHub
parent
commit
ab34ecb669
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 6 deletions
  1. +0
    -6
      quantum/action.c
  2. +7
    -0
      quantum/action.h
  3. +2
    -0
      quantum/process_keycode/process_tap_dance.c

+ 0
- 6
quantum/action.c 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; }
#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.


+ 7
- 0
quantum/action.h View File

@ -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;


+ 2
- 0
quantum/process_keycode/process_tap_dance.c 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) {
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);
}
}


Loading…
Cancel
Save