Make sure the end of a motion is correctly detected even if the hardware
does not always report a 0 'w' value for two-finger contacts. Diff from Ulf Brosziewski. Fix a regression with Synaptics touchpads reported by Patrick keshishian and Henrik Friedrichsen on misc@. ok matthieu@, deraadt@
This commit is contained in:
parent
f149319ba0
commit
f19ea1ac3a
@ -217,6 +217,14 @@ WSConsReadHwState(InputInfoPtr pInfo,
|
|||||||
if (hw->z == 0) {
|
if (hw->z == 0) {
|
||||||
hw->fingerWidth = 0;
|
hw->fingerWidth = 0;
|
||||||
hw->numFingers = 0;
|
hw->numFingers = 0;
|
||||||
|
} else if (hw->numFingers == 0) {
|
||||||
|
/*
|
||||||
|
* Because W may be 0 already, a two-finger touch on a
|
||||||
|
* Synaptics touchpad doesn't necessarily produce an update
|
||||||
|
* event for W.
|
||||||
|
*/
|
||||||
|
hw->fingerWidth = 5;
|
||||||
|
hw->numFingers = 2;
|
||||||
}
|
}
|
||||||
hw->millis = 1000 * event.time.tv_sec + event.time.tv_nsec / 1000000;
|
hw->millis = 1000 * event.time.tv_sec + event.time.tv_nsec / 1000000;
|
||||||
SynapticsCopyHwState(hwRet, hw);
|
SynapticsCopyHwState(hwRet, hw);
|
||||||
|
Loading…
Reference in New Issue
Block a user