Some applications ignore the second tap of double taps because of the
lack of a delay between the button down and button up events.
Prevent this by replacing the transition from TS_2B to TS_START with a
transition from TS_2B to TS_SINGLETAP that emits only a button down
event. The button up event will be emitted when transitioning from
TS_SINGLETAP to TS_START.
In addition, decrease the default value of MaxDoubleTapTime from 180 ms
to 100 ms in order to make double taps faster.
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The tap-and-drag gesture is an alternative way of dragging.
It is performed by tapping (touching and releasing the finger), then
touching again and moving the finger on the touchpad.
This gesture is enabled by default and can be disabled by setting the
TapAndDragGesture option to false.
The gesture already existed in synaptics and was always enabled. This
commit adds an option to switch it on/off. The default behavior is
tap-and-drag being enabled, that is, TapAndDragGesture is true.
The "Synaptics Gestures" property is intended to hold all new gesture
enabling options, like options for the upcoming multitouch gestures.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This patch adds a new parameter - "SingleTapTimeout" - to control the
"2A -> SINGLETAP" transition.
This gives greater control of tap behavior. For exmple, it is possible
to disable tap-and-drag by setting the parameter to 0.
MaxDoubleTapTime makes it easier to do fast double clicks.
ClickTime adds a delay between the button down and button up events
generated in response to a tap event.
processing. This fixes several problems:
* Double tap and drag now works. (Problem reported by Andrew Pimlott
<andrew@pimlott.net>.)
* Locked drags are handled correctly, even for button 2 and 3
tap-and-drag operations.
* The [LR][TB]CornerButton and TapButton[123] parameters now work also
for button values > 3.
* The old code was too hard to understand.