From e9ccd4f402a8b56590acc83009f4045b145587bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Mon, 24 Jan 2022 18:56:40 +0100 Subject: doc: document disambiguation between two finger pinch and scroll MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: José Expósito --- doc/touchpad-gestures-state-machine.svg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/touchpad-gestures-state-machine.svg b/doc/touchpad-gestures-state-machine.svg index 132d588a..b2528d07 100755 --- a/doc/touchpad-gestures-state-machine.svg +++ b/doc/touchpad-gestures-state-machine.svg @@ -1,3 +1,4 @@ + -
NONE
NONE
FINGER_DETECTED
FINGER_DETECTED
yes
yes
no
no
Gestures enabled?
Gestures enab...
UNKNOWN
UNKNOWN
  Start hold timer
  Start hold timer
Motion detected?
Motion detect...
yes
yes
no
no
Hold timeout
Hold timeout
HOLD_TIMEOUT
HOLD_TIMEOUT
HOLD
HOLD
HOLD_BEGIN
HOLD_BEGIN
yes
yes
no
no
Motion detected?
Motion detect...
HOLD_END
(CANCEL)
HOLD_END...
all
all
some (debounce)
some (debounce)
Finger up?
Finger up?
HOLD_END
HOLD_END
Number of fingers?
Number of fin...
2 fingers
2 fingers
3 or 4 fingers
3 or 4 fingers
1 finger
1 finger
(to NONE)
(to NONE)
5 or more
fingers
5 or more...
POINTER_MOTION
POINTER_MOTION
SCROLL
SCROLL
SWIPE
SWIPE
PINCH
PINCH
swipe
swipe
pinch
pinch
Gesture
type?
Gesture...
SWIPE
SWIPE
PINCH
PINCH
SWIPE_BEGIN
SWIPE_BEGIN
PINCH_BEGIN
PINCH_BEGIN
yes
yes
no
no
Motion
> hold threshold?
Motion...
no
no
yes
yes
1 finger?
1 finger?
Hold timeout
Hold timeout
yes
yes
no
no
Motion
< hold threshold?
Motion...
HOLD_AND_MOTION
HOLD_AND_MOTION
HOLD_BEGIN
HOLD_BEGIN
HOLD_TIMEOUT
HOLD_TIMEOUT
yes
yes
no
no
Gestures enabled?
Gestures enab...
SCROLL
SCROLL
POINTER_MOTION
POINTER_MOTION
yes
yes
no (to NONE)
no (to NONE)
Gestures enabled?
Gestures enab...
yes
yes
Finger up?
Finger up?
Finger count changed?
Finger count...
DEBOUNCE FINGER LOGIC
Start debounce timer
Start debounce timer
Debounce timeout
Debounce timeout
yes
yes
no
no
Number of fingers changed?
Number of fin...
CANCEL CURRENT GESTURE
CANCEL CURRENT GESTURE
Ignore this finger change and stay in the same state
Ignore this finger c...
(to NONE)
(to NONE)
all
all
some
some
no
no
Finger up?
Finger up?
(to NONE)
(to NONE)
SWIPE_END
SWIPE_END
some
some
all
all
no
no
Finger up?
Finger up?
(to NONE)
(to NONE)
PINCH_END
PINCH_END
yes (to NONE)
yes (to NONE)
no
no
Finger up?
Finger up?
SWIPE_UPDATE
SWIPE_UPDATE
PINCH_UPDATE
PINCH_UPDATE
POINTER_MOTION
POINTER_MOTION
no
no
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E(to NONE)
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E(to NONE)
(to NONE)
(to NONE)
all
all
some (debounce)
some (debounce)
Finger up?
Finger up?
AXIS
AXIS
AXIS (0,0)
AXIS (0,0)
RESET
RESET
RESET
RESET
LEGEND
STATE
STATE
EVENT
EVENT
Conditional
Conditional
Time event
Time event
GESTURE
GESTURE
Condition
Condition
Hold
Hold
Hold and motion
Hold and motion
Pinch
Pinch
Swipe
Swipe
Pointer motion
Pointer motion
Scroll
Scroll
Viewer does not support full SVG 1.1
\ No newline at end of file +
NONE
NONE
FINGER_DETECTED
FINGER_DETECTED
yes
yes
no
no
Gestures enabled?
Gestures enab...
UNKNOWN
UNKNOWN
  Start hold timer
  Start hold timer
Motion detected?
Motion detect...
yes
yes
no
no
Hold timeout
Hold timeout
HOLD_TIMEOUT
HOLD_TIMEOUT
HOLD
HOLD
HOLD_BEGIN
HOLD_BEGIN
yes
yes
no
no
Motion detected?
Motion detect...
HOLD_END
(CANCEL)
HOLD_END...
all
all
some (debounce)
some (debounce)
Finger up?
Finger up?
HOLD_END
HOLD_END
Number of fingers?
Number of fin...
2 fingers
2 fingers
3 or 4 fingers
3 or 4 fingers
1 finger
1 finger
(to NONE)
(to NONE)
5 or more
fingers
5 or more...
POINTER_MOTION
POINTER_MOTION
SCROLL
SCROLL
SWIPE
SWIPE
PINCH
PINCH
swipe
swipe
pinch
pinch
Gesture
type?
Gesture...
SWIPE
SWIPE
PINCH
PINCH
SWIPE_BEGIN
SWIPE_BEGIN
PINCH_BEGIN
PINCH_BEGIN
yes
yes
no
no
Motion
> hold threshold?
Motion...
no
no
yes
yes
1 finger?
1 finger?
Hold timeout
Hold timeout
yes
yes
no
no
Motion
< hold threshold?
Motion...
HOLD_AND_MOTION
HOLD_AND_MOTION
HOLD_BEGIN
HOLD_BEGIN
HOLD_TIMEOUT
HOLD_TIMEOUT
yes
yes
no
no
Gestures enabled?
Gestures enab...
SCROLL
SCROLL
POINTER_MOTION
POINTER_MOTION
yes
yes
no (to NONE)
no (to NONE)
Gestures enabled?
Gestures enab...
yes
yes
Finger up?
Finger up?
Finger count changed?
Finger count...
DEBOUNCE FINGER LOGIC
Start debounce timer
Start debounce timer
Debounce timeout
Debounce timeout
yes
yes
no
no
Number of fingers changed?
Number of fin...
CANCEL CURRENT GESTURE
CANCEL CURRENT GESTURE
Ignore this finger change and stay in the same state
Ignore this finger c...
(to NONE)
(to NONE)
all
all
some
some
no
no
Finger up?
Finger up?
(to NONE)
(to NONE)
SWIPE_END
SWIPE_END
some
some
all
all
no
no
Finger up?
Finger up?
(to NONE)
(to NONE)
PINCH_END
PINCH_END
yes (to NONE)
yes (to NONE)
no
no
Finger up?
Finger up?
SWIPE_UPDATE
SWIPE_UPDATE
PINCH_UPDATE
PINCH_UPDATE
POINTER_MOTION
POINTER_MOTION
no
no
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E(to NONE)
%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22(to%20NONE)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%222314.686274509804%22%20y%3D%221001.0588235294117%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E(to NONE)
(to NONE)
(to NONE)
all
all
some (debounce)
some (debounce)
Finger up?
Finger up?
AXIS
AXIS
AXIS (0,0)
AXIS (0,0)
RESET
RESET
RESET
RESET
LEGEND
STATE
STATE
EVENT
EVENT
Conditional
Conditional
Time event
Time event
GESTURE
GESTURE
Condition
Condition
Hold
Hold
Hold and motion
Hold and motion
Pinch
Pinch
Swipe
Swipe
Pointer motion
Pointer motion
Scroll
Scroll
yes
yes
Was pinch?
Was pinch?

We may confuse a pinch for a scroll initially, allow to transform an ongoing scroll into a pinch

We may confuse a pinch for a s...
Text is not SVG - cannot display
\ No newline at end of file -- cgit v1.2.1