-
may now implement triggering of end gesture if start gesture exists and or the initial circle has been extended somewhat. This combated or enables the ability to cancel a gesture much better than current methods which only "cancel" in some direction by executing the opposite gesture. I believe this should be default behavior.
- have main loop send updates as queues
- three types
- finger_start : called when a new finger verifies both its x and y coordinates (merged with finger_add : called when a new finger is touches to touchpad)
- finger_update: called when a finger updates x and y after verification
- finger_remove: called when a finger is removed from touchpad
- end gesture
- signify end of a started gesture
- restart gesture params
- restart debounce
- initiate state for new finger
- increment counter for number of fingers started which signifies current gesture level
- update state for updated finger
- pick which type of gesture is currently executing after all figures have been verified
- enqueue gesture to run
- end gesture
- signify end of a started gesture
- restart gesture params
- restart debounce
- execute tap based gesture if any other gesture had not been started
- update state to reflect removed finger
- get messages(dequeue from message queue) and do appropriate action
- dequeue from gesture queue and execute after debounce times out
- can calculate the factor number from the size of the x and y, check how it scales down to touchpad
- for now set manually
- finger/s specific tap, swipe and pinch while any number of fingers are resting on the touchpad which are used as modifiers
- swipe in the 8 different directions with all 3, 4 and 5 fingers
- tap with all 4, and 5 fingers
- maybe pinch clockwise and counterclockwise?
- pin in and out with all 2,3, 4, 5 fingers
- maybe pinch clockwise and counterclockwise?
- pinch guestures
- HOLY GRAIL: finger/s specific tap, swipe and pinch while any number of fingers are resting on the touchpad which are used as modifiers
- the design was a success
- big lesson is that you really need OS + window environment + window manager support to smoothly implement features