aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/process_keycode/process_tap_dance.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/process_keycode/process_tap_dance.h')
-rw-r--r--quantum/process_keycode/process_tap_dance.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/quantum/process_keycode/process_tap_dance.h b/quantum/process_keycode/process_tap_dance.h
index b64321da0c..bce93d611b 100644
--- a/quantum/process_keycode/process_tap_dance.h
+++ b/quantum/process_keycode/process_tap_dance.h
@@ -28,15 +28,16 @@ typedef struct {
#ifndef NO_ACTION_ONESHOT
uint8_t oneshot_mods;
#endif
- bool pressed : 1;
- bool finished : 1;
- bool interrupted : 1;
+ bool pressed : 1;
+ bool finished : 1;
+ bool interrupted : 1;
+ bool in_use : 1;
+ uint8_t index;
} tap_dance_state_t;
typedef void (*tap_dance_user_fn_t)(tap_dance_state_t *state, void *user_data);
typedef struct tap_dance_action_t {
- tap_dance_state_t state;
struct {
tap_dance_user_fn_t on_each_tap;
tap_dance_user_fn_t on_dance_finished;
@@ -98,6 +99,8 @@ typedef struct {
void reset_tap_dance(tap_dance_state_t *state);
+tap_dance_state_t *tap_dance_get_state(uint8_t tap_dance_idx);
+
/* To be used internally */
bool preprocess_tap_dance(uint16_t keycode, keyrecord_t *record);