[xorg-x11-drv-synaptics/f17] Reset touch state on DEVICE_OFF (#814972)

Peter Hutterer whot at fedoraproject.org
Tue Apr 24 05:46:13 UTC 2012


commit 08383e6cc8bee5671c809979d3286b5e9f6839ba
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue Apr 24 15:48:26 2012 +1000

    Reset touch state on DEVICE_OFF (#814972)

 0001-Reset-touch-state-on-DeviceOff.patch |   47 +++++++++++++++++++++++++++++
 xorg-x11-drv-synaptics.spec               |    8 ++++-
 2 files changed, 54 insertions(+), 1 deletions(-)
---
diff --git a/0001-Reset-touch-state-on-DeviceOff.patch b/0001-Reset-touch-state-on-DeviceOff.patch
new file mode 100644
index 0000000..7ad8748
--- /dev/null
+++ b/0001-Reset-touch-state-on-DeviceOff.patch
@@ -0,0 +1,47 @@
+From 8ef982c5403e88e6823d09cdcd38af4c3050936c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Tue, 24 Apr 2012 15:31:36 +1000
+Subject: [PATCH] Reset touch state on DeviceOff
+
+Don't leave touches lingering around during suspend.
+https://bugzilla.redhat.com/show_bug.cgi?id=814972
+
+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
+
+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
+
diff --git a/xorg-x11-drv-synaptics.spec b/xorg-x11-drv-synaptics.spec
index 84fbab3..0fe1d26 100644
--- a/xorg-x11-drv-synaptics.spec
+++ b/xorg-x11-drv-synaptics.spec
@@ -8,7 +8,7 @@
 Name:           xorg-x11-drv-synaptics
 Summary:        Xorg X11 Synaptics touchpad input driver
 Version:        1.5.99.903
-Release:        3%{?gitdate:.%{gitdate}git%{gitversion}}%{dist}
+Release:        4%{?gitdate:.%{gitdate}git%{gitversion}}%{dist}
 URL:            http://www.x.org
 License:        MIT
 Group:          User Interface/X Hardware Support
@@ -22,6 +22,8 @@ Source1:        50-synaptics.conf
 Source2:        make-git-snapshot.sh
 Source3:        70-touchpad-quirks.rules
 
+Patch01:        0001-Reset-touch-state-on-DeviceOff.patch
+
 ExcludeArch:    s390 s390x %{?rhel:ppc ppc64}
 
 BuildRequires:  libtool pkgconfig
@@ -79,6 +81,7 @@ Features:
 
 %prep
 %setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
+%patch01 -p1 
 
 %build
 autoreconf -v --install --force || exit 1
@@ -135,6 +138,9 @@ Development files for the Synaptics TouchPad for X.Org.
 
 
 %changelog
+* Tue Apr 24 2012 Peter Hutterer <peter.hutterer at redhat.com> 1.5.99.903-4.20120419git11d892964
+- Reset touch state on DEVICE_OFF (#814972)
+
 * Thu Apr 19 2012 Peter Hutterer <peter.hutterer at redhat.com> 1.5.99.903-3.20120419git11d892964
 - Update .conf file for softbuttons
 


More information about the scm-commits mailing list