Comment 0 for bug 1236290

Revision history for this message
John Lea (johnlea) wrote :

(from section "3.1 Edge drag gestures" in the "Unity Gesture UI Guidelines" doc https://docs.google.com/a/canonical.com/document/d/1WJF8YdphrorvHiB5FFVxsitL5Pz-tpZ5-kmtzoD3tFc/edit )

These are Unity level gestures that allow the user to reveal and interact with shell elements like the Launcher. To reduce the number of false positives, edge drag gestures are only triggered when a user drags their finger over the edge of the screen and the drag does not have following charastics:

- If the initial velocity is zero or close to zero an edge gesture is not triggered. The gesture is passed through to the app. This is because the intended gesture is probably a tap or a hold

- If the initial velocity is high an edge gesture is not triggered. The gesture is passed through to the app. This is because the intended gesture is probably a flick

- If the initial direction is not close to perpendicular to the edge an edge gesture is not triggered. This is because the intended gesture may be a vertical drag.

- If at the gesture’s initiation the user has more than one finger touching the screen an edge gesture is not triggered. This is because the intended gesture may be a pinch, spread or rotate.

---------------------------------------
Desired resolution:

- Implement the heuristics defined above for detecting edge gestures to reduce the incidence of false positives.

- The exact values for these heuristics should be easily modifiable so that we can experiment with different values to find the optimal values.

- Gestures performed on the edge of the screen when are no longer detected as edge gestures due to the above heuristics should be passed through to the currently focused app.