From c964df31913e65cbcd6c39fc4bb60883bc62fed1 Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Thu, 4 Jul 2002 21:10:55 +0200 Subject: [PATCH] When doing tap, drag and double tap processing, the buttons not involved in the tapping was considered released, even if the corresponding physical button was pressed. This generated a bogus button release event when the tap processing started and a bogus button press event when the tap processing ended. --- synaptics.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/synaptics.c b/synaptics.c index c67bb15..38f8034 100644 --- a/synaptics.c +++ b/synaptics.c @@ -607,25 +607,25 @@ ReadInput(LocalDevicePtr local) /* tap processing */ if(priv->tap && (DIFF_TIME(priv->count_packet, priv->count_packet_tapping) < para->tap_time)) { - left = priv->tap_left; - mid = priv->tap_mid; - right = priv->tap_right; + left |= priv->tap_left; + mid |= priv->tap_mid; + right |= priv->tap_right; } else { priv->tap = FALSE; } /* drag processing */ if(priv->drag) { - left = priv->tap_left; - mid = priv->tap_mid; - right = priv->tap_right; + left |= priv->tap_left; + mid |= priv->tap_mid; + right |= priv->tap_right; } /* double tap processing */ if(priv->doubletap && !priv->finger_flag) { - left = priv->tap_left; - mid = priv->tap_mid; - right = priv->tap_right; + left |= priv->tap_left; + mid |= priv->tap_mid; + right |= priv->tap_right; priv->doubletap = FALSE; }