RFE: Advanced Thumb Detection
This issue is for tracking ongoing work on overall enhancement to thumb detection on clickpads. Design goals:
- Do not break existing functionality
- Maintain or improve gesture recognition accuracy (#13 (closed), #9, #5 (closed))
- Improve consistency of clickfinger and multitouch tap behavior (#10 (closed))
- Use context, plus hardware (pressure/size) when available
- Degrade gracefully on limited hardware
- Allow a thumb to rest anywhere on the touchpad (#4 (closed))
- Allow a thumb to rest before or after other touches
- Accurately detect scrolls and swipes with physical clickpad button down
- Avoid timeouts when possible (same order of actions -> same behavior, regardless of timing)
The idea is to draw heavily on macOS for inspiration, but without following its conventions blindly. Detailed analysis of macOS touchpad behavior: https://gist.github.com/mdmayfield/7720a0cd1e8b84a61e1543f801dc8245
-
Prepare gesture recognition to work with thumb detection -
Refine specific size-based HW thumb detection (#97 (closed)) (to integrate later with larger design) -
Consider time-based instead of event-based speed threshold thumb detection -
Draw state machine diagram of proposed thumb detection -
Implement thumb detection state machine -
Find volunteers with various hardware to test and give feedback