diff --git a/doc/touchpad-tap-state-machine.svg b/doc/touchpad-tap-state-machine.svg index 5dd10361..24b28a68 100644 --- a/doc/touchpad-tap-state-machine.svg +++ b/doc/touchpad-tap-state-machine.svg @@ -1,1508 +1,3 @@ + - - - - - - - - - - - - - IDLE - - - - - TOUCH - - - - - first - - finger down - - - - - - - finger up - - - - - - - button 1 - - press - - - - - timeout - - - - - - - move > - - threshold - - - - - - - second - - finger down - - - - - - - TOUCH_2 - - - - - second - - finger up - - - - - - - button 2 - - press - - - - - move > - - threshold - - - - - timeout - - - - - - - - - button 1 - - release - - - - - button 2 - - release - - - - - - - - - - - TAPPED - - - - - timeout - - - - - - - first - - finger down - - - - - - - DRAGGING - - - - - first - - finger up - - - - - btn1 - - release - - - - - - - - - - - IDLE - - - - - third - - finger down - - - - - - - TOUCH_3 - - - - - - - button 3 - - press - - - - - button 3 - - release - - - - - - - move > - - threshold - - - - - - - IDLE - - - - - timeout - - - - - - - first - - finger up - - - - - - - IDLE - - - - - fourth - - finger down - - - - - - - - - DRAGGING_OR_DOUBLETAP - - - - - - - timeout - - - - - - - first - - finger up - - - - - - - button 1 - - release - - - - - button 1 - - press - - - - - btn1 - - release - - - - - - - second - - finger down - - - - - - - move > - - threshold - - - - - - - - - HOLD - - - - - first - - finger up - - - - - - - - - second - - finger down - - - - - - - - - TOUCH_2_HOLD - - - - - second - - finger up - - - - - - - first - - finger up - - - - - - - - - third - - finger down - - - - - - - - - - - TOUCH_3_HOLD - - - - - - - fourth - - finger down - - - - - DEAD - - - - - - - - - - - any finger up - - - - - fourth - - finger up - - - - - any finger up - - - - - - - - - yes - - - - - any finger up - - - - - - - - - - - - - IDLE - - - - - if finger - - count == 0 - - - - - - - - - - - second - - finger up - - - - - DRAGGING_2 - - - - - - - - - first - - finger up - - - - - - - - - - - second - - finger down - - - - - - - - - - - third - - finger down - - - - - - - btn1 - - release - - - - - - - phys - - button - - press - - - - - - - - - - - - - - - - - phys - - button - - press - - - - - - - button 1 - - release - - - - - - - - - - - - - - - DRAGGING_WAIT - - - - - timeout - - - - - - - - - - - first - - finger down - - - - - - - TOUCH_TOUCH - - - - - TOUCH_IDLE - - - - - - - - - - - - - TOUCH_DEAD - - - - - - - - - - - - - TOUCH_DEAD - - - - - - - - - - - TOUCH_IDLE - - - - - - - TOUCH_TOUCH - - - - - - - - - TOUCH_IDLE - - - - - - - TOUCH_IDLE - - - - - - - TOUCH_TOUCH - - - - - - - that finger - - TOUCH_IDLE - - - - - - - TOUCH_DEAD - - - - - - - - - - - that finger - - TOUCH_IDLE - - - - - - - - - no - - - - - TOUCH_TOUCH - - - - - - - TOUCH_IDLE - - - - - TOUCH_TOUCH - - - - - - - TOUCH_DEAD - - - - - - - - - TOUCH_IDLE - - - - - - - TOUCH_TOUCH - - - - - TOUCH_TOUCH - - - - - TOUCH_IDLE - - - - - - - TOUCH_IDLE - - - - - - - TOUCH_TOUCH - - - - - - - TOUCH_IDLE - - - - - - - TOUCH_TOUCH - - - - - - - that finger - - TOUCH_IDLE - - - - - - - TOUCH_DEAD - - - - - - - TOUCH_DEAD - - - - - TOUCH_DEAD - - - - - TOUCH_DEAD - - - - - - - TOUCH_DEAD - - - - - - - TOUCH_DEAD - - - - - - - that finger state == - - TOUCH_TOUCH - - - - - TOUCH_DEAD - - - - - - - TOUCH_DEAD - - - - - TOUCH_DEAD - - - - - first - - finger down - - - - - MULTITAP - - - - - - - - - timeout - - - - - - - - - IDLE - - - - - - - - - - - MULTITAP_DOWN - - - - - first - - finger up - - - - - - - timeout - - - - - second - - finger down - - - - - move > - - threshold - - - - - - - - - - - TOUCH_TOUCH - - - - - - - TOUCH_IDLE - - - - - phys - - button - - press - - - - - - - - - - - DRAGGING_OR_TAP - - - - - first - - finger up - - - - - - - timeout - - - - - - - - - move > - - threshold - - - - - - - - - - - - - - - TOUCH_IDLE - - - - - - - - - - - -
-
- drag lock
- enabled?
-
-
-
- - [Not supported by viewer] -
-
- - - - - -
-
- no
-
-
- - no -
-
- - - - - -
-
- yes
-
-
-
- - yes<br> -
-
- - - - thumb - - - - - - - TOUCH_DEAD - - - - - - - - - - - TOUCH_2_RELEASE - - - - - second - - finger up - - - - - - - timeout - - - - - - - move > - - threshold - - - - - - - - - - - - - first - - finger down - - - - - - - - - TOUCH_IDLE - - - - - - - first - - finger up - - - - - - - - - second - - finger down - - - - - - - TOUCH_DEAD - - - - - TOUCH_DEAD - - - - - - - - - - - - - -
-
- drag
- disabled?
-
-
-
- - drag<br>disabled?<br> -
-
- - - - - -
-
- no
-
-
- - no -
-
- - - - - -
-
- yes
-
-
- - yes -
-
- - - - palm - - - - - - - either finger - - palm - - - - - - - remaining - -  finger - - palm - - - - - - - any finger - - palm - - - - - - - - - that finger - - TOUCH_DEAD - - - - - - - that finger - - TOUCH_DEAD - - - - - - - - - - - palm - - - - - - - - - - - any finger - - palm - - - - - - - that finger - - TOUCH_DEAD - - - - - - - - - TOUCH_DEAD - - - - - - - - - palm - - - - - TOUCH_DEAD - - - - - - - - - - - any finger - - palm - - - - - - - - - that finger - - TOUCH_DEAD - - - - - - - either finger - - palm - - - - - - - that finger - - TOUCH_DEAD - - - - - - - - - palm - - - - - - - - - TOUCH_DEAD - - - - - - - - - any finger - - palm - - - - - - - that finger - - TOUCH_DEAD - - - - - - - - - - - palm - - - - - - - - - - - - - button 1 - - press - - - - - - - - - - - TOUCH_DEAD - - - - - - - - - - - - - btn1 - - release - - - - - - - MULTITAP_PALM - - - - - first - - finger down - - - - - - - TOUCH_TOUCH - - - - - - - - - timeout - - - - - - - - - phys - - button - - press - - - - - -
-
+IDLETOUCHfirstfinger downfinger upbutton 1presstimeoutmove > thresholdsecondfinger downTOUCH_2secondfinger upbutton 2pressmove > thresholdtimeoutbutton 1releasebutton 2releaseTAPPEDtimeoutfirstfinger downDRAGGINGfirstfinger upbtn1releaseIDLEthirdfinger downTOUCH_3button 3pressbutton 3releasemove > thresholdIDLEtimeoutfirstfinger upIDLEfourthfinger downDRAGGING_OR_DOUBLETAPtimeoutfirstfinger upbutton 1releasebutton 1pressbtn1releasesecondfinger downmove > thresholdHOLDfirstfinger upsecondfinger downTOUCH_2_HOLDsecondfinger upfirstfinger upthirdfinger downTOUCH_3_HOLDfourthfinger downDEADany finger upfourthfinger upany finger upyesany finger upIDLEif fingercount == 0secondfinger upDRAGGING_2firstfinger upsecondfinger downthirdfinger downbtn1releasephysbuttonpressphysbuttonpressbutton 1releaseDRAGGING_WAITtimeoutfirstfinger downTOUCH_TOUCHTOUCH_IDLETOUCH_DEADTOUCH_DEADTOUCH_IDLETOUCH_TOUCHTOUCH_IDLETOUCH_IDLETOUCH_TOUCHthat fingerTOUCH_IDLETOUCH_DEADthat fingerTOUCH_IDLEnoTOUCH_TOUCHTOUCH_IDLETOUCH_TOUCHTOUCH_DEADTOUCH_IDLETOUCH_TOUCHTOUCH_TOUCHTOUCH_IDLETOUCH_IDLETOUCH_TOUCHTOUCH_IDLETOUCH_TOUCHthat fingerTOUCH_IDLETOUCH_DEADTOUCH_DEADTOUCH_DEADTOUCH_DEADTOUCH_DEADTOUCH_DEADthat finger state ==TOUCH_TOUCHTOUCH_DEADTOUCH_DEADTOUCH_DEADfirstfinger downMULTITAPtimeoutIDLEMULTITAP_DOWNfirstfinger uptimeoutsecondfinger downmove > thresholdTOUCH_TOUCHTOUCH_IDLEphysbuttonpressDRAGGING_OR_TAPfirstfinger uptimeoutmove > thresholdTOUCH_IDLE
drag lock
enabled?
[Not supported by viewer]
no
no
yes
yes<br>
thumbTOUCH_DEADTOUCH_2_RELEASEsecondfinger uptimeoutmove > thresholdfirstfinger downTOUCH_IDLEfirstfinger upsecondfinger downTOUCH_DEADTOUCH_DEAD
drag
disabled?
drag<br>disabled?<br>
no
no
yes
yes
palmeither fingerpalmremaining fingerpalmany fingerpalmthat fingerTOUCH_DEADthat fingerTOUCH_DEADpalmany fingerpalmthat fingerTOUCH_DEADTOUCH_DEADpalmTOUCH_DEADany fingerpalmthat fingerTOUCH_DEADeither fingerpalmthat fingerTOUCH_DEADpalmTOUCH_DEADany fingerpalmthat fingerTOUCH_DEADpalmbutton 1pressTOUCH_DEADbtn1releaseMULTITAP_PALMfirstfinger downTOUCH_TOUCHtimeoutphysbuttonpressTOUCH_DEADmove > thresholdmove > threshold
\ No newline at end of file