[PATCH synaptics] Reset touch state on DeviceOff
Peter Hutterer
peter.hutterer at who-t.net
Mon Apr 23 22:46:50 PDT 2012
Don't leave touches lingering around during suspend.
Test case:
1) leave finger on touchpad
2) xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0
3) lift fingers
4) xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1
https://bugzilla.redhat.com/show_bug.cgi?id=814972
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
src/eventcomm.c | 1 +
src/synaptics.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/eventcomm.c b/src/eventcomm.c
index 9d1233c..5707e38 100644
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -128,6 +128,7 @@ UninitializeTouch(InputInfoPtr pInfo)
mtdev_close(proto_data->mtdev);
proto_data->mtdev = NULL;
+ proto_data->num_touches = 0;
}
static void
diff --git a/src/synaptics.c b/src/synaptics.c
index 853bfa8..d2fe960 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -1086,6 +1086,7 @@ DeviceOff(DeviceIntPtr dev)
if (pInfo->fd != -1) {
TimerCancel(priv->timer);
xf86RemoveEnabledDevice(pInfo);
+ SynapticsResetTouchHwState(priv->hwState);
if (priv->proto_ops->DeviceOffHook &&
!priv->proto_ops->DeviceOffHook(pInfo))
rc = !Success;
--
1.7.10
More information about the xorg-devel
mailing list