Closed aaronkollasch closed 1 year ago
In testing, this is occasionally a bit sensitive to an extra finger brushing the trackpad while performing some gestures, for example, a three-finger tap. However, I think it generally works as expected, and Index-to-Pinky/Pinky-to-Index are almost unchanged, except if the last finger stays on the trackpad too long.
Adds a four-finger tap gesture. Because this gesture is similar to the Tab4 gestures (Index-To-Pinky/Pinky-To-Index), it will only dispatch the gesture if Tab4 has not been triggered from the same gesture.
An exception to this rule is if the four-finger tap gesture is performed as a "one-fix three-tap" gesture (see the second example animation in the four-finger tap gesture preview). In this case, if the three-tap fingers appear in the right order, a Tab4 gesture could be waiting to trigger when the last finger is raised, and the 4-tap gesture could be held up waiting to see if the Tab4 triggers or not. In order to not suspend the 4-tap gesture too long in this case, 4-tap will trigger after a delay of
clickSpeed/2
, and cancel the pending Tab4 gesture.clickSpeed/2
is used instead ofclickSpeed
as a balance between failing to detect Tab4 gestures and delaying a one-fix three-tap too long. If the user intends to perform a Tab4 gesture, then by the time only one finger is present, they should already be in the process of raising all fingers including the last one, so we do not need to wait the fullclickSpeed
delay.Fixes #25