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.
This commit is contained in:
Peter Osterlund
2002-07-04 21:10:55 +02:00
parent e2eddc53ce
commit c964df3191

View File

@@ -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;
}