[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-input-synaptics: Changes to 'ubuntu'



 debian/changelog                                   |   17 ++++++
 debian/patches/204_monotonicise_hw_timestamp.patch |   34 +++++++++++++
 debian/patches/205_end_touches_on_disable.patch    |   53 +++++++++++++++++++++
 debian/patches/series                              |    4 +
 4 files changed, 108 insertions(+)

New commits:
commit 4517b655e44ef19a4ea462e47ffe52c332bd6c19
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Tue Apr 24 18:30:04 2012 +1000

    Add Peter's patch to fix touchpad-after-suspend on MacBooks

diff --git a/debian/changelog b/debian/changelog
index 7f4ca1e..cf827a5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,12 +1,17 @@
 xserver-xorg-input-synaptics (1.5.99.902-0ubuntu5.1) precise-proposed; urgency=low
 
-  * Cherry-pick patch from upstream to ensure the timestamps used when
-    determining velocities are monotonic.  In certain circumstances the
-    timestamps from hardware events can be less than the timestamps
-    from the preceeding artificially-generated events.
-    - Fixes occasional huge jumps in pointer position.
-    - Fixes two-finger scrolling in GTK+3 windows (such as Nautilus and
-      Evolution) failing some time after login. (LP: #982771)
+  * debian/patches/204_monotonicise_hw_timestamp.patch:
+    - Cherry-pick patch from upstream to ensure the timestamps used when
+      determining velocities are monotonic.  In certain circumstances the
+      timestamps from hardware events can be less than the timestamps
+      from the preceeding artificially-generated events.
+      + Fixes occasional huge jumps in pointer position.
+      + Fixes two-finger scrolling in GTK+3 windows (such as Nautilus and
+        Evolution) failing some time after login. (LP: #982771)
+  * debian/patches/205_end_touches_on_disable.patch:
+    - Upstream patch to reset touch state on device disable.
+      + Fixes touchpad not working after suspend on some MacBook models
+        (LP: #968845)
 
  -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 24 Apr 2012 14:32:49 +1000
 
diff --git a/debian/patches/205_end_touches_on_disable.patch b/debian/patches/205_end_touches_on_disable.patch
new file mode 100644
index 0000000..d2d3f68
--- /dev/null
+++ b/debian/patches/205_end_touches_on_disable.patch
@@ -0,0 +1,53 @@
+From patchwork Tue Apr 24 05:46:50 2012
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [synaptics] Reset touch state on DeviceOff
+Date: Tue, 24 Apr 2012 05:46:50 -0000
+From: Peter Hutterer <peter.hutterer@who-t.net>
+X-Patchwork-Id: 10055
+Message-Id: <20120424054650.GA1803@yabbi.bne.redhat.com>
+To: "X.Org Devel List" <xorg-devel@lists.freedesktop.org>
+Cc: Chase Douglas <chase.douglas@canonical.com>
+
+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@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;
diff --git a/debian/patches/series b/debian/patches/series
index b93af58..aa20379 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -29,3 +29,4 @@
 
 # Cherry-picks
 204_monotonicise_hw_timestamp.patch
+205_end_touches_on_disable.patch

commit 7a05769b9478f271fa5e30279d702c530ba38799
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Tue Apr 24 14:37:23 2012 +1000

    Cherry-pick patch fixing non-monotonic timestamps resulting in scroll breakage

diff --git a/debian/changelog b/debian/changelog
index 5a41b16..7f4ca1e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+xserver-xorg-input-synaptics (1.5.99.902-0ubuntu5.1) precise-proposed; urgency=low
+
+  * Cherry-pick patch from upstream to ensure the timestamps used when
+    determining velocities are monotonic.  In certain circumstances the
+    timestamps from hardware events can be less than the timestamps
+    from the preceeding artificially-generated events.
+    - Fixes occasional huge jumps in pointer position.
+    - Fixes two-finger scrolling in GTK+3 windows (such as Nautilus and
+      Evolution) failing some time after login. (LP: #982771)
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 24 Apr 2012 14:32:49 +1000
+
 xserver-xorg-input-synaptics (1.5.99.902-0ubuntu5) precise-proposed; urgency=low
 
   * Fix coasting speed on multitouch touchpads (LP: #930938)
diff --git a/debian/patches/204_monotonicise_hw_timestamp.patch b/debian/patches/204_monotonicise_hw_timestamp.patch
new file mode 100644
index 0000000..a41d14d
--- /dev/null
+++ b/debian/patches/204_monotonicise_hw_timestamp.patch
@@ -0,0 +1,34 @@
+commit 3822d58777768b351940e58d8608ba9ab877d134
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Apr 19 16:39:41 2012 +1000
+
+    Ensure hw millis are monotonic (#48777)
+    
+    The eventcomm backend takes the timestamp from the kernel, but the timer
+    uses the timer's "now". This timestamp may be later than the one from the
+    next event we read from the kernel, causing a negative dtime in get_delta()
+    and a cursor jump by (unsigned int)-1.
+    
+    Ensure that the new event's timestamp is at least the last used one.
+    
+    X.Org Bug 48777 <http://bugs.freedesktop.org/show_bug.cgi?id=48777>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Tested-by: Gavin Troy <gavtroy@gmail.com>
+
+diff --git a/src/synaptics.c b/src/synaptics.c
+index 350567d..8c34234 100644
+--- a/src/synaptics.c
++++ b/src/synaptics.c
+@@ -1635,6 +1635,10 @@ ReadInput(InputInfoPtr pInfo)
+ 	    hw->cumulative_dy = priv->hwState->cumulative_dy;
+ 	}
+ 
++	/* timer may cause actual events to lag behind (#48777) */
++	if (priv->hwState->millis > hw->millis)
++	    hw->millis = priv->hwState->millis;
++
+ 	SynapticsCopyHwState(priv->hwState, hw);
+ 	delay = HandleState(pInfo, hw, hw->millis, FALSE);
+ 	newDelay = TRUE;
diff --git a/debian/patches/series b/debian/patches/series
index f8105da..b93af58 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -26,3 +26,6 @@
 201_fix_touch_count.patch
 202_touch_record_bounds_check.patch
 203_fix_coasting_speed.patch
+
+# Cherry-picks
+204_monotonicise_hw_timestamp.patch


Reply to: