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) {
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) {
process_tap_dance_action_on_dance_finished (qk_tap_dance_state.keycode);
} 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.timer = timer_read ();
qk_tap_dance_state.count++;
process_tap_dance_action_on_each_tap (qk_tap_dance_state.keycode);
}
break;
default:
process_tap_dance_action_on_each_tap (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);
reset_tap_dance (&qk_tap_dance_state);
}