diff --git a/quantum/vial.c b/quantum/vial.c index 93bb15e4e9..6ef3f40dea 100644 --- a/quantum/vial.c +++ b/quantum/vial.c @@ -376,6 +376,8 @@ static void on_dance_finished(qk_tap_dance_state_t *state, void *user_data) { case SINGLE_TAP: { if (td_entry.on_tap) vial_keycode_down(td_entry.on_tap); + else if (td_entry.on_hold) + vial_keycode_down(td_entry.on_hold); break; } case SINGLE_HOLD: { @@ -414,6 +416,10 @@ static void on_dance_finished(qk_tap_dance_state_t *state, void *user_data) { if (td_entry.on_tap) { vial_keycode_tap(td_entry.on_tap); vial_keycode_down(td_entry.on_tap); + } else if (td_entry.on_double_tap) { + vial_keycode_down(td_entry.on_double_tap); + } else if (td_entry.on_tap_hold) { + vial_keycode_down(td_entry.on_tap_hold); } break; } @@ -432,6 +438,8 @@ static void on_dance_reset(qk_tap_dance_state_t *state, void *user_data) { case SINGLE_TAP: { if (td_entry.on_tap) vial_keycode_up(td_entry.on_tap); + else if (td_entry.on_hold) + vial_keycode_up(td_entry.on_hold); break; } case SINGLE_HOLD: { @@ -467,6 +475,10 @@ static void on_dance_reset(qk_tap_dance_state_t *state, void *user_data) { case DOUBLE_SINGLE_TAP: { if (td_entry.on_tap) { vial_keycode_up(td_entry.on_tap); + } else if (td_entry.on_double_tap) { + vial_keycode_up(td_entry.on_double_tap); + } else if (td_entry.on_tap_hold) { + vial_keycode_up(td_entry.on_tap_hold); } break; }