vial/tap-dance: adjust behavior for double tap+hold
This commit is contained in:
parent
5f4aa29c0d
commit
be80d90f42
@ -346,7 +346,7 @@ static void on_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
|
|||||||
if (td_entry.on_double_tap) {
|
if (td_entry.on_double_tap) {
|
||||||
register_code16(td_entry.on_double_tap);
|
register_code16(td_entry.on_double_tap);
|
||||||
} else if (td_entry.on_tap) {
|
} else if (td_entry.on_tap) {
|
||||||
register_code16(td_entry.on_tap);
|
tap_code16(td_entry.on_tap);
|
||||||
register_code16(td_entry.on_tap);
|
register_code16(td_entry.on_tap);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -355,7 +355,10 @@ static void on_dance_finished(qk_tap_dance_state_t *state, void *user_data) {
|
|||||||
if (td_entry.on_tap_hold) {
|
if (td_entry.on_tap_hold) {
|
||||||
register_code16(td_entry.on_tap_hold);
|
register_code16(td_entry.on_tap_hold);
|
||||||
} else {
|
} else {
|
||||||
if (td_entry.on_tap) {
|
if (td_entry.on_double_tap) {
|
||||||
|
tap_code16(td_entry.on_double_tap);
|
||||||
|
register_code16(td_entry.on_double_tap);
|
||||||
|
} else if (td_entry.on_tap) {
|
||||||
tap_code16(td_entry.on_tap);
|
tap_code16(td_entry.on_tap);
|
||||||
if (td_entry.on_hold)
|
if (td_entry.on_hold)
|
||||||
register_code16(td_entry.on_hold);
|
register_code16(td_entry.on_hold);
|
||||||
@ -381,7 +384,6 @@ static void on_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
|
|||||||
uint8_t index = (uintptr_t)user_data;
|
uint8_t index = (uintptr_t)user_data;
|
||||||
if (dynamic_keymap_get_tap_dance(index, &td_entry) != 0)
|
if (dynamic_keymap_get_tap_dance(index, &td_entry) != 0)
|
||||||
return;
|
return;
|
||||||
wait_ms(10);
|
|
||||||
switch (dance_state[index]) {
|
switch (dance_state[index]) {
|
||||||
case SINGLE_TAP: {
|
case SINGLE_TAP: {
|
||||||
if (td_entry.on_tap)
|
if (td_entry.on_tap)
|
||||||
@ -400,7 +402,6 @@ static void on_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
|
|||||||
unregister_code16(td_entry.on_double_tap);
|
unregister_code16(td_entry.on_double_tap);
|
||||||
} else if (td_entry.on_tap) {
|
} else if (td_entry.on_tap) {
|
||||||
unregister_code16(td_entry.on_tap);
|
unregister_code16(td_entry.on_tap);
|
||||||
unregister_code16(td_entry.on_tap);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -408,7 +409,9 @@ static void on_dance_reset(qk_tap_dance_state_t *state, void *user_data) {
|
|||||||
if (td_entry.on_tap_hold) {
|
if (td_entry.on_tap_hold) {
|
||||||
unregister_code16(td_entry.on_tap_hold);
|
unregister_code16(td_entry.on_tap_hold);
|
||||||
} else {
|
} else {
|
||||||
if (td_entry.on_tap) {
|
if (td_entry.on_double_tap) {
|
||||||
|
unregister_code16(td_entry.on_double_tap);
|
||||||
|
} else if (td_entry.on_tap) {
|
||||||
if (td_entry.on_hold)
|
if (td_entry.on_hold)
|
||||||
unregister_code16(td_entry.on_hold);
|
unregister_code16(td_entry.on_hold);
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user