taps->repeats = 0;
taps->enabled_finger = 0;
+ taps->current_finger = 0;
taps->state = E_GESTURE_TAP_STATE_READY;
taps->base_rect.x1 = 0;
taps->base_rect.y1 = 0;
ecore_timer_del(taps->done_timer);
taps->done_timer = NULL;
}
+ taps->current_finger = 0;
if (taps->repeats == taps->fingers[taps->enabled_finger].max_repeats)
{
ecore_timer_del(taps->interval_timer);
if (taps->enabled_finger < gesture->gesture_events.num_pressed)
taps->enabled_finger = gesture->gesture_events.num_pressed;
+ taps->current_finger++;
+
if (taps->enabled_finger > taps->max_fingers)
_e_gesture_tap_cancel();
if (gesture->gesture_events.recognized_gesture)
_e_gesture_tap_cancel();
+ if (taps->enabled_finger != taps->current_finger)
+ _e_gesture_tap_cancel();
+
switch (taps->state)
{
case E_GESTURE_TAP_STATE_NONE:
E_Gesture_Event_Tap_Finger fingers[E_GESTURE_FINGER_MAX + 2];
E_Gesture_Tap_State state;
unsigned int enabled_finger;
+ unsigned int current_finger;
unsigned int repeats;
unsigned int max_fingers;