User Tools

Site Tools


Avoiding Gesture Conflict

There are two common forms of gesture conflict, matching criteria conflict and gesture event conflict.In both correct user input can lead to undesired results and applications to suffer from “gesture confusion”.

When dealing with similar matching criteria a single gesture action can in some cases trigger a group of gesture events. in certain situations this can be desirable. In the case of drag, rotate and scale; all three gesture are triggered when a touch point cluster moves which leads to important “realistic” looking touch object transformations. But what if you one gesture to trigger and not the other. For example what if you wanted the first gesture to lock out the other gestures so that you could have a modal matching system.

To achieve this gestures need to have the ability to exclusively lock out another gestures from dispatching and assigned a gesture priority to act as a tie breaker when required. See: Setting Gesture Exclusivity and Gesture Priorities
Gesture event conflict can occur when two or more gesture actions are mapped to the same gesture event type. When either action is performed the “same” gesture event occurs. Although the gesture event object returned may have different properties it will require further queries by the event handler to determine which “gesture” occurred.

One method for avoiding gesture event confusion/conflict is to create a new “custom” gesture event type so that each gesture event can be selectively match using a different gesture event listener. See: Editing Gesture Event Types.

In most cases gesture conflict can be naturally resolved by “sensible” gesture mapping in the application and by the fact that most seed gesture manipulations are mutually exclusive and the constituent dimension are orthogonal.

avoiding_gesture_conflict.txt · Last modified: 2019/01/29 19:06 (external edit)