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.rog...@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 <r...@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.hutte...@who-t.net> +X-Patchwork-Id: 10055 +Message-Id: <20120424054650.ga1...@yabbi.bne.redhat.com> +To: "X.Org Devel List" <xorg-de...@lists.freedesktop.org> +Cc: Chase Douglas <chase.doug...@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.hutte...@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.rog...@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 <r...@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.hutte...@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.hutte...@who-t.net> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + Tested-by: Gavin Troy <gavt...@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 -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1smbov-0006jp...@vasks.debian.org