in the default case, it should be called if there is actually a tap

dance happening, and in the normal case, it should be called when the
tap down is happening.
This commit is contained in:
Pavlos Vinieratos 2016-07-18 23:34:02 +02:00
parent d3091faf36
commit dda2fd6ff3

View file

@ -70,7 +70,6 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) {
switch(keycode) { switch(keycode) {
case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: case QK_TAP_DANCE ... QK_TAP_DANCE_MAX:
process_tap_dance_action_on_each_tap (qk_tap_dance_state.keycode);
if (qk_tap_dance_state.keycode && qk_tap_dance_state.keycode != keycode) { if (qk_tap_dance_state.keycode && qk_tap_dance_state.keycode != keycode) {
process_tap_dance_action_on_dance_finished (qk_tap_dance_state.keycode); process_tap_dance_action_on_dance_finished (qk_tap_dance_state.keycode);
} else { } else {
@ -81,12 +80,13 @@ bool process_tap_dance(uint16_t keycode, keyrecord_t *record) {
qk_tap_dance_state.keycode = keycode; qk_tap_dance_state.keycode = keycode;
qk_tap_dance_state.timer = timer_read (); qk_tap_dance_state.timer = timer_read ();
qk_tap_dance_state.count++; qk_tap_dance_state.count++;
process_tap_dance_action_on_each_tap (qk_tap_dance_state.keycode);
} }
break; break;
default: default:
process_tap_dance_action_on_each_tap (qk_tap_dance_state.keycode);
if (qk_tap_dance_state.keycode) { if (qk_tap_dance_state.keycode) {
process_tap_dance_action_on_each_tap (qk_tap_dance_state.keycode);
process_tap_dance_action_on_dance_finished (qk_tap_dance_state.keycode); process_tap_dance_action_on_dance_finished (qk_tap_dance_state.keycode);
reset_tap_dance (&qk_tap_dance_state); reset_tap_dance (&qk_tap_dance_state);
} }