TS_3 is second tap down. Unconditionally set the button as down, later, in
HandleTapProcessing we have the required conditions to reset it to TS_START
and TBS_BUTTON_UP.

Meanwhile, TBS_BUTTON_DOWN stays down, so the second tap is counted and sent
as button event. This restores double-tapping if TapAndDrag is disabled.

X.Org Bug 31854 <http://bugs.freedesktop.org/show_bug.cgi?id=31854>

Signed-off-by: Peter Hutterer <[email protected]>
---
 src/synaptics.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/synaptics.c b/src/synaptics.c
index 0de5c01..853bfa8 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -1865,10 +1865,7 @@ SetTapState(SynapticsPrivate *priv, enum TapState 
tap_state, CARD32 millis)
        priv->tap_button_state = TBS_BUTTON_UP;
        break;
     case TS_3:
-       if (para->tap_and_drag_gesture)
-           priv->tap_button_state = TBS_BUTTON_DOWN;
-       else
-           priv->tap_button_state = TBS_BUTTON_UP;
+       priv->tap_button_state = TBS_BUTTON_DOWN;
        break;
     case TS_SINGLETAP:
        if (para->fast_taps)
-- 
1.7.10

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to