diff options
author | Fabian Topfstedt <topfstedt@schneevonmorgen.com> | 2017-08-03 19:44:58 +0200 |
---|---|---|
committer | Fabian Topfstedt <topfstedt@schneevonmorgen.com> | 2017-08-03 19:44:58 +0200 |
commit | 3c2343664c303a4bbf632804ef5de84dec9e5787 (patch) | |
tree | b08bb4f08d0d4c159e80390a151c9923fb60c6c5 /quantum/process_keycode/process_tap_dance.c | |
parent | 015bf30d9b827692f387a09e1c24549e2a25c863 (diff) | |
parent | 83b35bf6f68d16910b2acfaffa21c82f4ffbfd3a (diff) |
Merge https://github.com/qmk/qmk_firmware
Diffstat (limited to 'quantum/process_keycode/process_tap_dance.c')
-rw-r--r-- | quantum/process_keycode/process_tap_dance.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/quantum/process_keycode/process_tap_dance.c b/quantum/process_keycode/process_tap_dance.c index 4fd45810bb..00870c4e7f 100644 --- a/quantum/process_keycode/process_tap_dance.c +++ b/quantum/process_keycode/process_tap_dance.c @@ -41,6 +41,24 @@ void qk_tap_dance_pair_reset (qk_tap_dance_state_t *state, void *user_data) { } } +void qk_tap_dance_dual_role_finished (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) { + register_code16 (pair->kc); + } else if (state->count == 2) { + layer_invert (pair->layer); + } +} + +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) { + unregister_code16 (pair->kc); + } +} + static inline void _process_tap_dance_action_fn (qk_tap_dance_state_t *state, void *user_data, qk_tap_dance_user_fn_t fn) |