Skip to content

Commit

Permalink
FIX: Zoom gesture is no longer be interrupted by additional touches
Browse files Browse the repository at this point in the history
  • Loading branch information
arthurnishimoto committed Jun 22, 2018
1 parent 1888ed1 commit a72436f
Showing 1 changed file with 50 additions and 47 deletions.
97 changes: 50 additions & 47 deletions src/omicron/omicron/TouchGestureManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ void TouchGroup::generateGestures(){

gestureManager->generateZoomEvent(Event::Down, centerTouch, 0);
ofmsg("TouchGroup ID: %1% zoom start", %ID);
} else if( touchList.size() != 2 && zoomGestureTriggered ){
} else if( touchList.size() < 2 && zoomGestureTriggered ){
zoomGestureTriggered = false;

gestureManager->generateZoomEvent(Event::Up, centerTouch, 0);
Expand All @@ -447,56 +447,59 @@ void TouchGroup::generateGestures(){
ofmsg("TouchGroup ID: %1% zoom delta: %2%", %ID %zoomDelta);
}
}
else
{

// 5-finger gesture
if( touchList.size() == 5 && idleTouchList.size() > 3 && !fiveFingerGestureTriggered )
{
gestureManager->generatePQServiceEvent( Event::Down, centerTouch, GESTURE_FIVE_FINGER_HOLD );
fiveFingerGestureTriggered = true;

ofmsg("TouchGroup ID: %1% 5-finger gesture triggered", %ID);
if( groupHandedness == LEFT )
omsg(" - Left-hand detected");
else if( groupHandedness == RIGHT )
omsg(" - Right-hand detected");
}
else if( touchList.size() == 5 && idleTouchList.size() > 3 && fiveFingerGestureTriggered )
{
gestureManager->generatePQServiceEvent( Event::Move, centerTouch, GESTURE_FIVE_FINGER_HOLD );
//ofmsg("TouchGroup ID: %1% 5-finger gesture hold", %ID);
}
else if( touchList.size() != 5 && fiveFingerGestureTriggered )
{
gestureManager->generatePQServiceEvent( Event::Up, centerTouch, GESTURE_FIVE_FINGER_HOLD );
fiveFingerGestureTriggered = false;
// 5-finger gesture
if (touchList.size() == 5 && idleTouchList.size() > 3 && !fiveFingerGestureTriggered)
{
gestureManager->generatePQServiceEvent(Event::Down, centerTouch, GESTURE_FIVE_FINGER_HOLD);
fiveFingerGestureTriggered = true;

ofmsg("TouchGroup ID: %1% 5-finger gesture triggered", %ID);
if (groupHandedness == LEFT)
omsg(" - Left-hand detected");
else if (groupHandedness == RIGHT)
omsg(" - Right-hand detected");
}
else if (touchList.size() == 5 && idleTouchList.size() > 3 && fiveFingerGestureTriggered)
{
gestureManager->generatePQServiceEvent(Event::Move, centerTouch, GESTURE_FIVE_FINGER_HOLD);
//ofmsg("TouchGroup ID: %1% 5-finger gesture hold", %ID);
}
else if (touchList.size() != 5 && fiveFingerGestureTriggered)
{
gestureManager->generatePQServiceEvent(Event::Up, centerTouch, GESTURE_FIVE_FINGER_HOLD);
fiveFingerGestureTriggered = false;

ofmsg("TouchGroup ID: %1% 5-finger gesture ended", %ID);
}
ofmsg("TouchGroup ID: %1% 5-finger gesture ended", %ID);
}

// 3-finger gesture
if( touchList.size() == 3 && idleTouchList.size() > 2 && !threeFingerGestureTriggered )
{
gestureManager->generatePQServiceEvent( Event::Down, centerTouch, GESTURE_THREE_FINGER_HOLD );
threeFingerGestureTriggered = true;

ofmsg("TouchGroup ID: %1% 3-finger gesture triggered", %ID);
if( groupHandedness == LEFT )
omsg(" - Left-hand detected");
else if( groupHandedness == RIGHT )
omsg(" - Right-hand detected");
}
else if( touchList.size() == 3 && idleTouchList.size() > 2 && threeFingerGestureTriggered )
{
gestureManager->generatePQServiceEvent( Event::Move, centerTouch, GESTURE_THREE_FINGER_HOLD );
//ofmsg("TouchGroup ID: %1% 5-finger gesture hold", %ID);
}
else if( touchList.size() != 3 && threeFingerGestureTriggered )
{
gestureManager->generatePQServiceEvent( Event::Up, centerTouch, GESTURE_THREE_FINGER_HOLD );
threeFingerGestureTriggered = false;
// 3-finger gesture
if (touchList.size() == 3 && idleTouchList.size() > 2 && !threeFingerGestureTriggered)
{
gestureManager->generatePQServiceEvent(Event::Down, centerTouch, GESTURE_THREE_FINGER_HOLD);
threeFingerGestureTriggered = true;

ofmsg("TouchGroup ID: %1% 3-finger gesture triggered", %ID);
if (groupHandedness == LEFT)
omsg(" - Left-hand detected");
else if (groupHandedness == RIGHT)
omsg(" - Right-hand detected");
}
else if (touchList.size() == 3 && idleTouchList.size() > 2 && threeFingerGestureTriggered)
{
gestureManager->generatePQServiceEvent(Event::Move, centerTouch, GESTURE_THREE_FINGER_HOLD);
//ofmsg("TouchGroup ID: %1% 5-finger gesture hold", %ID);
}
else if (touchList.size() != 3 && threeFingerGestureTriggered)
{
gestureManager->generatePQServiceEvent(Event::Up, centerTouch, GESTURE_THREE_FINGER_HOLD);
threeFingerGestureTriggered = false;

ofmsg("TouchGroup ID: %1% 3-finger gesture ended", %ID);
}
ofmsg("TouchGroup ID: %1% 3-finger gesture ended", %ID);
}
}
}


Expand Down

0 comments on commit a72436f

Please sign in to comment.