ChangeLog | 1750 +++++++++++++++- Makefile.am | 8 conf/50-synaptics.conf | 8 configure.ac | 51 debian/changelog | 145 + debian/control | 7 debian/patches/122_revert_pressure_finger_default.patch | 45 debian/patches/125_option_rec_revert.patch | 249 ++ debian/patches/126_ubuntu_xi22.patch | 11 debian/patches/127_default_drag_lock.patch | 13 debian/patches/128_disable_three_click_action.patch | 13 debian/patches/129_tmp_pointer_drift.patch | 47 debian/patches/130_tmp_touch_count_fix.patch | 125 + debian/patches/series | 19 include/Makefile.am | 1 include/synaptics-properties.h | 2 man/Makefile.am | 3 man/synaptics.man | 4 man/syndaemon.man | 41 src/Makefile.am | 12 src/alpscomm.c | 19 src/alpscomm.h | 33 src/eventcomm.c | 730 +++++- src/eventcomm.h | 11 src/properties.c | 73 src/ps2comm.c | 101 src/ps2comm.h | 15 src/psmcomm.c | 37 src/synaptics.c | 1078 ++++++--- src/synapticsstr.h | 79 src/synproto.c | 156 + src/synproto.h | 52 test/.gitignore | 6 test/Makefile.am | 18 test/eventcomm-test.c | 331 +++ test/fake-symbols.c | 492 ++++ test/fake-symbols.h | 186 + test/test-pad.c | 121 - test/testprotocol.c | 82 tools/Makefile.am | 3 tools/synclient.c | 7 tools/syndaemon.c | 7 42 files changed, 5133 insertions(+), 1058 deletions(-)
New commits: commit 079e391788a079ca83489d37f1aba3ec72e8151f Author: Chase Douglas <chase.doug...@canonical.com> Date: Tue Feb 21 16:22:32 2012 +0100 releasing version 1.5.99~git20120220-0ubuntu3 diff --git a/debian/changelog b/debian/changelog index a2af8fd..14c70aa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu3) UNRELEASED; urgency=low +xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu3) precise; urgency=low * Fix crash on multitouch devices when disabled while typing (LP: #931344) - Add temporary patch 130_tmp_touch_count_fix.patch - -- Chase Douglas <chase.doug...@ubuntu.com> Tue, 21 Feb 2012 16:14:22 +0100 + -- Chase Douglas <chase.doug...@ubuntu.com> Tue, 21 Feb 2012 16:22:17 +0100 xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu2) precise; urgency=low commit 8a746c0bed8b90a7b2954200877e70a206b481bf Author: Chase Douglas <chase.doug...@canonical.com> Date: Tue Feb 21 16:19:00 2012 +0100 Fix crash on multitouch devices when disabled while typing (LP: #931344) * Fix crash on multitouch devices when disabled while typing (LP: #931344) - Add temporary patch 130_tmp_touch_count_fix.patch diff --git a/debian/changelog b/debian/changelog index 3bcde23..a2af8fd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu3) UNRELEASED; urgency=low + + * Fix crash on multitouch devices when disabled while typing (LP: #931344) + - Add temporary patch 130_tmp_touch_count_fix.patch + + -- Chase Douglas <chase.doug...@ubuntu.com> Tue, 21 Feb 2012 16:14:22 +0100 + xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu2) precise; urgency=low * Prevent trackpad pointer drift (LP: #921082) diff --git a/debian/patches/130_tmp_touch_count_fix.patch b/debian/patches/130_tmp_touch_count_fix.patch new file mode 100644 index 0000000..6d33056 --- /dev/null +++ b/debian/patches/130_tmp_touch_count_fix.patch @@ -0,0 +1,125 @@ +From 5739a101d2f96ba4a0854202017d31f2b3dfee26 Mon Sep 17 00:00:00 2001 +From: Chase Douglas <chase.doug...@canonical.com> +Date: Tue, 21 Feb 2012 15:54:00 +0100 +Subject: [PATCH] Update touch state when device is off too + +If the device is turned off, usually by syndaemon to disable the +touchpad while the typing, the touch state will not be updated with the +latest hardware state changes. If a touch begins while the device is +off and ends while the device is on, then the touch count will be +decremented without any previous increment. A similar effect will occur +if the device is on when the touch begins, but off when the touch ends. + +If the touch count goes negative, the index into the touch slot mask +array will be out of bounds. This can corrupt memory and cause random +crashes. + +Signed-off-by: Chase Douglas <chase.doug...@canonical.com> +--- + src/synaptics.c | 74 ++++++++++++++++++++++++++++++------------------------ + 1 files changed, 41 insertions(+), 33 deletions(-) + +diff --git a/src/synaptics.c b/src/synaptics.c +index 7b3f680..c736b6a 100644 +--- a/src/synaptics.c ++++ b/src/synaptics.c +@@ -2596,6 +2596,42 @@ repeat_scrollbuttons(const InputInfoPtr pInfo, + return delay; + } + ++/* Update the open slots and number of active touches */ ++static void ++UpdateTouchState(InputInfoPtr pInfo, struct SynapticsHwState *hw) ++{ ++#ifdef HAVE_MULTITOUCH ++ SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private; ++ int i; ++ ++ for (i = 0; i < hw->num_mt_mask; i++) ++ { ++ if (hw->slot_state[i] == SLOTSTATE_OPEN) ++ { ++ priv->open_slots[priv->num_active_touches] = i; ++ priv->num_active_touches++; ++ } else if (hw->slot_state[i] == SLOTSTATE_CLOSE) ++ { ++ Bool found = FALSE; ++ int j; ++ ++ for (j = 0; j < priv->num_active_touches - 1; j++) ++ { ++ if (priv->open_slots[j] == i) ++ found = TRUE; ++ ++ if (found) ++ priv->open_slots[j] = priv->open_slots[j + 1]; ++ } ++ ++ priv->num_active_touches--; ++ } ++ } ++ ++ SynapticsResetTouchHwState(hw); ++#endif ++} ++ + static void + HandleTouches(InputInfoPtr pInfo, struct SynapticsHwState *hw) + { +@@ -2675,40 +2711,9 @@ HandleTouches(InputInfoPtr pInfo, struct SynapticsHwState *hw) + xf86PostTouchEvent(pInfo->dev, slot, XI_TouchEnd, 0, + hw->mt_mask[slot]); + } +- +-out: +- /* Update the open slots and number of active touches */ +- for (i = 0; i < hw->num_mt_mask; i++) +- { +- if (hw->slot_state[i] == SLOTSTATE_OPEN) +- { +- priv->open_slots[priv->num_active_touches] = i; +- priv->num_active_touches++; +- } else if (hw->slot_state[i] == SLOTSTATE_CLOSE) +- { +- Bool found = FALSE; +- int j; + +- for (j = 0; j < priv->num_active_touches - 1; j++) +- { +- if (priv->open_slots[j] == i) +- found = TRUE; +- +- if (found) +- priv->open_slots[j] = priv->open_slots[j + 1]; +- } +- +- priv->num_active_touches--; +- } +- } +- +- /* We calculated the value twice, might as well double check our math */ +- if (priv->num_active_touches != new_active_touches) +- xf86IDrvMsg(pInfo, X_WARNING, +- "calculated wrong number of active touches (%d vs %d)\n", +- priv->num_active_touches, new_active_touches); +- +- SynapticsResetTouchHwState(hw); ++out: ++ UpdateTouchState(pInfo, hw); + #endif + } + +@@ -2741,7 +2746,10 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now, + + /* If touchpad is switched off, we skip the whole thing and return delay */ + if (para->touchpad_off == 1) ++ { ++ UpdateTouchState(pInfo, hw); + return delay; ++ } + + /* apply hysteresis before doing anything serious. This cancels + * out a lot of noise which might surface in strange phenomena +-- +1.7.9 + diff --git a/debian/patches/series b/debian/patches/series index 2ce9188..98cd143 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -20,3 +20,4 @@ 127_default_drag_lock.patch 128_disable_three_click_action.patch 129_tmp_pointer_drift.patch +130_tmp_touch_count_fix.patch commit dbad93abd4af35e1b0cd0b49737c994007dcd515 Author: Chase Douglas <chase.doug...@canonical.com> Date: Mon Feb 20 11:55:43 2012 +0100 releasing version 1.5.99~git20120220-0ubuntu2 diff --git a/debian/changelog b/debian/changelog index ea64a27..3bcde23 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu2) UNRELEASED; urgency=low +xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu2) precise; urgency=low * Prevent trackpad pointer drift (LP: #921082) - Add temporary patch 129_tmp_pointer_drift.patch from upstream - -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 20 Feb 2012 11:51:07 +0100 + -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 20 Feb 2012 11:55:23 +0100 xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu1) precise; urgency=low commit 8a5fe35c6f869cc4dc53b0ab5d5fd3d1049266a9 Author: Chase Douglas <chase.doug...@canonical.com> Date: Mon Feb 20 11:52:32 2012 +0100 Prevent trackpad pointer drift (LP: #921082) * Prevent trackpad pointer drift (LP: #921082) - Add temporary patch 129_tmp_pointer_drift.patch from upstream diff --git a/debian/changelog b/debian/changelog index 7353dcd..ea64a27 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu2) UNRELEASED; urgency=low + + * Prevent trackpad pointer drift (LP: #921082) + - Add temporary patch 129_tmp_pointer_drift.patch from upstream + + -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 20 Feb 2012 11:51:07 +0100 + xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu1) precise; urgency=low * Update to latest code in git (f9a9065) diff --git a/debian/patches/129_tmp_pointer_drift.patch b/debian/patches/129_tmp_pointer_drift.patch new file mode 100644 index 0000000..720da4f --- /dev/null +++ b/debian/patches/129_tmp_pointer_drift.patch @@ -0,0 +1,47 @@ +From: Peter Hutterer <peter.hutte...@who-t.net> +To: "X.Org Devel List" <xorg-de...@lists.freedesktop.org> +Subject: [PATCH synaptics] Revert "Don't store fake events in the motion + history" +Cc: Daniel Stone <dan...@freedesktop.org> + +This commit introduced a regression. On some touchpads, the pointer keeps +moving in the last direction when the finger movement stops but the finger +is left on the touchpad. + +Cause appears to be get_delta() which calculates the deltas based on the +motion history but has no control flow for the lack of fake motion events +in the history after this commit. Thus, under some conditions, the delta is +always non-zero as the history does not change. + +Reproducer attached to bug +https://bugs.freedesktop.org/show_bug.cgi?id=45278#c11 + +X.Org Bug 45278 <http://bugs.freedesktop.org/show_bug.cgi?id=45278> + +This reverts commit c8b098214b44cf0585d78c460401ea7d143769f3. + +Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> +--- +There is probably a more extensive fix, starting with figuring out why the +timer still fires after enough movement to adding hooks for ignoring the +motion history if we're from a timer. This requires more time that I have +available atm. + + src/synaptics.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/synaptics.c b/src/synaptics.c +index 7b3f680..65b48ee 100644 +--- a/src/synaptics.c ++++ b/src/synaptics.c +@@ -2887,7 +2887,7 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now, + priv->lastButtons = buttons; + + /* generate a history of the absolute positions */ +- if (inside_active_area && !from_timer) ++ if (inside_active_area) + store_history(priv, hw->x, hw->y, hw->millis); + return delay; + } +-- +1.7.7.5 diff --git a/debian/patches/series b/debian/patches/series index 00409ad..2ce9188 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -19,3 +19,4 @@ 126_ubuntu_xi22.patch 127_default_drag_lock.patch 128_disable_three_click_action.patch +129_tmp_pointer_drift.patch commit a675d36d7623a1aef31817ae0ab7f26953fd4d39 Author: Chase Douglas <chase.doug...@canonical.com> Date: Mon Feb 20 11:13:19 2012 +0100 releasing version 1.5.99+git20120220-0ubuntu1 diff --git a/debian/changelog b/debian/changelog index 1a5553c..7353dcd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu1) UNRELEASED; urgency=low +xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu1) precise; urgency=low * Update to latest code in git (f9a9065) - Scale single-touch values to multitouch axes (LP: #936856) - -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 20 Feb 2012 10:58:37 +0100 + -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 20 Feb 2012 11:13:10 +0100 xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu2) precise; urgency=low commit ddb92c23de3ec7e78e3e4cd4e080c9065dccce0a Author: Chase Douglas <chase.doug...@canonical.com> Date: Mon Feb 20 10:59:51 2012 +0100 Update to latest code in git (f9a9065) diff --git a/ChangeLog b/ChangeLog index f198cdf..df3f301 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +commit f9a906590e59383aef3c53faca98f0de40859f17 +Author: Chase Douglas <chase.doug...@canonical.com> +Date: Sat Feb 11 18:57:20 2012 +0100 + + Prefer multitouch over single-touch axis ranges + + We still use single-touch data in most cases, but sometimes the + multitouch axes have higher resolution. Since we use the same XI + valuators to report ST and MT data, we must pick one axis and scale the + other to match. This change picks the MT axis ranges. + + Signed-off-by: Chase Douglas <chase.doug...@canonical.com> + Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> + commit e6032c34515a19ebac09090028f806d82ddfb62d Author: Chase Douglas <chase.doug...@canonical.com> Date: Thu Feb 9 10:06:54 2012 -0800 diff --git a/debian/changelog b/debian/changelog index 0a121ca..1a5553c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xserver-xorg-input-synaptics (1.5.99~git20120220-0ubuntu1) UNRELEASED; urgency=low + + * Update to latest code in git (f9a9065) + - Scale single-touch values to multitouch axes (LP: #936856) + + -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 20 Feb 2012 10:58:37 +0100 + xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu2) precise; urgency=low * Enable tap-and-drag locked drags by default commit f9a906590e59383aef3c53faca98f0de40859f17 Author: Chase Douglas <chase.doug...@canonical.com> Date: Sat Feb 11 18:57:20 2012 +0100 Prefer multitouch over single-touch axis ranges We still use single-touch data in most cases, but sometimes the multitouch axes have higher resolution. Since we use the same XI valuators to report ST and MT data, we must pick one axis and scale the other to match. This change picks the MT axis ranges. Signed-off-by: Chase Douglas <chase.doug...@canonical.com> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> diff --git a/src/eventcomm.c b/src/eventcomm.c index 6ffe265..e97faa8 100644 --- a/src/eventcomm.c +++ b/src/eventcomm.c @@ -65,6 +65,10 @@ struct eventcomm_proto_data * exists for readability of the code. */ BOOL need_grab; + int st_to_mt_offset_x; + double st_to_mt_scale_x; + int st_to_mt_offset_y; + double st_to_mt_scale_y; #ifdef HAVE_MTDEV struct mtdev *mtdev; int axis_map[MT_ABS_SIZE]; @@ -76,7 +80,16 @@ struct eventcomm_proto_data struct eventcomm_proto_data * EventProtoDataAlloc(void) { - return calloc(1, sizeof(struct eventcomm_proto_data)); + struct eventcomm_proto_data *proto_data; + + proto_data = calloc(1, sizeof(struct eventcomm_proto_data)); + if (!proto_data) + return NULL; + + proto_data->st_to_mt_scale_x = 1; + proto_data->st_to_mt_scale_y = 1; + + return proto_data; } #ifdef HAVE_MTDEV @@ -363,6 +376,7 @@ static void event_query_axis_ranges(InputInfoPtr pInfo) { SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private; + struct eventcomm_proto_data *proto_data = priv->proto_data; unsigned long absbits[NBITS(ABS_MAX)] = {0}; unsigned long keybits[NBITS(KEY_MAX)] = {0}; char buf[256] = {0}; @@ -396,6 +410,26 @@ event_query_axis_ranges(InputInfoPtr pInfo) &priv->minw, &priv->maxw, NULL, NULL); + if (priv->has_touch) + { + int st_minx = priv->minx; + int st_maxx = priv->maxx; + int st_miny = priv->miny; + int st_maxy = priv->maxy; + + event_get_abs(pInfo, pInfo->fd, ABS_MT_POSITION_X, &priv->minx, + &priv->maxx, &priv->synpara.hyst_x, &priv->resx); + event_get_abs(pInfo, pInfo->fd, ABS_MT_POSITION_Y, &priv->miny, + &priv->maxy, &priv->synpara.hyst_y, &priv->resy); + + proto_data->st_to_mt_offset_x = priv->minx - st_minx; + proto_data->st_to_mt_scale_x = + (priv->maxx - priv->minx) / (st_maxx - st_minx); + proto_data->st_to_mt_offset_y = priv->miny - st_miny; + proto_data->st_to_mt_scale_y = + (priv->maxy - priv->miny) / (st_maxy - st_miny); + } + SYSCALL(rc = ioctl(pInfo->fd, EVIOCGBIT(EV_KEY, sizeof(keybits)), keybits)); if (rc >= 0) { @@ -569,6 +603,7 @@ EventReadHwState(InputInfoPtr pInfo, struct SynapticsHwState *hw = comm->hwState; SynapticsPrivate *priv = (SynapticsPrivate *)pInfo->private; SynapticsParameters *para = &priv->synpara; + struct eventcomm_proto_data *proto_data = priv->proto_data; SynapticsResetTouchHwState(hw); @@ -644,10 +679,12 @@ EventReadHwState(InputInfoPtr pInfo, if (ev.code < ABS_MT_SLOT) { switch (ev.code) { case ABS_X: - hw->x = ev.value; + hw->x = ev.value * proto_data->st_to_mt_scale_x + + proto_data->st_to_mt_offset_x; break; case ABS_Y: - hw->y = ev.value; + hw->y = ev.value * proto_data->st_to_mt_scale_y + + proto_data->st_to_mt_offset_y; break; case ABS_PRESSURE: hw->z = ev.value; @@ -816,10 +853,10 @@ EventReadDevDimensions(InputInfoPtr pInfo) if (event_query_is_touchpad(pInfo->fd, (proto_data) ? proto_data->need_grab : TRUE)) { - event_query_axis_ranges(pInfo); #ifdef HAVE_MTDEV event_query_touch(pInfo); #endif + event_query_axis_ranges(pInfo); } event_query_model(pInfo->fd, &priv->model, &priv->id_vendor, &priv->id_product); commit f985c47039e7b55a538e7fd773d0faeafba1054d Author: Chase Douglas <chase.doug...@canonical.com> Date: Mon Feb 13 20:52:12 2012 -0800 releasing version 1.5.0+git20120210-0ubuntu2 diff --git a/debian/changelog b/debian/changelog index a6788c4..0a121ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu2) UNRELEASED; urgency=low +xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu2) precise; urgency=low * Enable tap-and-drag locked drags by default * Disable three-click action by default so three touch gestures work - -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 13 Feb 2012 20:32:32 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 13 Feb 2012 20:51:56 -0800 xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) precise; urgency=low commit 2132cc443ea17111ba2fe6b05fa9e2e6908d2eba Author: Chase Douglas <chase.doug...@canonical.com> Date: Mon Feb 13 20:33:32 2012 -0800 Disable three-click action by default so three touch gestures work diff --git a/debian/changelog b/debian/changelog index 29c38bc..a6788c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu2) UNRELEASED; urgency=low * Enable tap-and-drag locked drags by default + * Disable three-click action by default so three touch gestures work - -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 13 Feb 2012 20:28:36 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 13 Feb 2012 20:32:32 -0800 xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) precise; urgency=low diff --git a/debian/patches/128_disable_three_click_action.patch b/debian/patches/128_disable_three_click_action.patch new file mode 100644 index 0000000..4db18da --- /dev/null +++ b/debian/patches/128_disable_three_click_action.patch @@ -0,0 +1,13 @@ +Index: xserver-xorg-input-synaptics/src/synaptics.c +=================================================================== +--- xserver-xorg-input-synaptics.orig/src/synaptics.c 2012-02-13 20:30:53.165083092 -0800 ++++ xserver-xorg-input-synaptics/src/synaptics.c 2012-02-13 20:32:17.402508282 -0800 +@@ -497,7 +497,7 @@ + otherwise clickFinger is always button 1. */ + clickFinger1 = 1; + clickFinger2 = (priv->has_right || priv->has_middle) ? 1 : 3; +- clickFinger3 = (priv->has_right || priv->has_middle) ? 1 : 2; ++ clickFinger3 = 0; /* Disabled by default so three-touch gestures work */ + + /* Enable vert edge scroll */ + vertEdgeScroll = TRUE; diff --git a/debian/patches/series b/debian/patches/series index 1c32bc4..00409ad 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -18,3 +18,4 @@ 125_option_rec_revert.patch 126_ubuntu_xi22.patch 127_default_drag_lock.patch +128_disable_three_click_action.patch commit 9bb3e799f8a8d0407257ff9d87c4d69d45d95a35 Author: Chase Douglas <chase.doug...@canonical.com> Date: Mon Feb 13 20:30:30 2012 -0800 Enable tap-and-drag locked drags by default diff --git a/debian/changelog b/debian/changelog index 7aa89be..29c38bc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu2) UNRELEASED; urgency=low + + * Enable tap-and-drag locked drags by default + + -- Chase Douglas <chase.doug...@ubuntu.com> Mon, 13 Feb 2012 20:28:36 -0800 + xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) precise; urgency=low * Update to latest code in git (e6032c3) diff --git a/debian/patches/127_default_drag_lock.patch b/debian/patches/127_default_drag_lock.patch new file mode 100644 index 0000000..d1c1823 --- /dev/null +++ b/debian/patches/127_default_drag_lock.patch @@ -0,0 +1,13 @@ +Index: xserver-xorg-input-synaptics/src/synaptics.c +=================================================================== +--- xserver-xorg-input-synaptics.orig/src/synaptics.c 2012-02-13 20:28:22.178606998 -0800 ++++ xserver-xorg-input-synaptics/src/synaptics.c 2012-02-13 20:28:22.438610574 -0800 +@@ -558,7 +558,7 @@ + } + pars->scroll_button_repeat = xf86SetIntOption(opts,"ScrollButtonRepeat", 100); + pars->touchpad_off = xf86SetIntOption(opts, "TouchpadOff", 0); +- pars->locked_drags = xf86SetBoolOption(opts, "LockedDrags", FALSE); ++ pars->locked_drags = xf86SetBoolOption(opts, "LockedDrags", TRUE); + pars->locked_drag_time = xf86SetIntOption(opts, "LockedDragTimeout", 5000); + pars->tap_action[RT_TAP] = xf86SetIntOption(opts, "RTCornerButton", 2); + pars->tap_action[RB_TAP] = xf86SetIntOption(opts, "RBCornerButton", 3); diff --git a/debian/patches/series b/debian/patches/series index ae176a5..1c32bc4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -17,3 +17,4 @@ 124_syndaemon_events.patch 125_option_rec_revert.patch 126_ubuntu_xi22.patch +127_default_drag_lock.patch commit ec7394cfc10d2e2d3a36c3bac6b49034ce5611c0 Author: Chase Douglas <chase.doug...@canonical.com> Date: Fri Feb 10 18:28:04 2012 -0800 releasing version 1.5.0+git20120210-0ubuntu1 diff --git a/debian/changelog b/debian/changelog index 7d7b257..7aa89be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) UNRELEASED; urgency=low +xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) precise; urgency=low * Update to latest code in git (e6032c3) * Drop 127_multitouch.patch, merged upstream @@ -6,7 +6,7 @@ xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) UNRELEASED; urgency=lo * Refresh 125_option_rec_revert.patch * Add 126_ubuntu_xi22.patch for ubuntu frankenserver support - -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:24:01 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:27:53 -0800 xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) precise; urgency=low commit f63248aa8e7b4e767ff93806981edb2491773cc7 Author: Chase Douglas <chase.doug...@canonical.com> Date: Fri Feb 10 18:24:20 2012 -0800 Add 126_ubuntu_xi22.patch for ubuntu frankenserver support diff --git a/debian/changelog b/debian/changelog index d0518c6..7d7b257 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,8 +4,9 @@ xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) UNRELEASED; urgency=lo * Drop 127_multitouch.patch, merged upstream * Drop 126_default_speed.patch, no longer necessary * Refresh 125_option_rec_revert.patch + * Add 126_ubuntu_xi22.patch for ubuntu frankenserver support - -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:21:47 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:24:01 -0800 xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) precise; urgency=low diff --git a/debian/patches/126_ubuntu_xi22.patch b/debian/patches/126_ubuntu_xi22.patch new file mode 100644 index 0000000..06e15b3 --- /dev/null +++ b/debian/patches/126_ubuntu_xi22.patch @@ -0,0 +1,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -64,7 +64,7 @@ AC_SUBST([sdkdir]) + DRIVER_NAME=synaptics + AC_SUBST([DRIVER_NAME]) + +-PKG_CHECK_MODULES(XI22, [inputproto >= 2.1.99.3] [xorg-server >= 1.11.99.901], HAVE_XI22="yes", HAVE_XI22="no") ++PKG_CHECK_MODULES(XI22, [inputproto >= 2.1.99.3] [xorg-server >= 1.11.3], HAVE_XI22="yes", HAVE_XI22="no") + if test "x$HAVE_XI22" = xyes; then + AC_DEFINE(HAVE_MULTITOUCH, 1, [XI2.2 available]) + fi diff --git a/debian/patches/series b/debian/patches/series index 12b44ec..ae176a5 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -16,3 +16,4 @@ #123_order_ProcessTouch_for_numFingers.patch 124_syndaemon_events.patch 125_option_rec_revert.patch +126_ubuntu_xi22.patch commit 913472072ca6a0ccb3500bc5760eb7f053190244 Author: Chase Douglas <chase.doug...@canonical.com> Date: Fri Feb 10 18:21:55 2012 -0800 Refresh 125_option_rec_revert.patch diff --git a/debian/changelog b/debian/changelog index 4532720..d0518c6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,8 +3,9 @@ xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) UNRELEASED; urgency=lo * Update to latest code in git (e6032c3) * Drop 127_multitouch.patch, merged upstream * Drop 126_default_speed.patch, no longer necessary + * Refresh 125_option_rec_revert.patch - -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:17:35 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:21:47 -0800 xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) precise; urgency=low diff --git a/debian/patches/125_option_rec_revert.patch b/debian/patches/125_option_rec_revert.patch index 57b9883..a55aeeb 100644 --- a/debian/patches/125_option_rec_revert.patch +++ b/debian/patches/125_option_rec_revert.patch @@ -1,7 +1,5 @@ -diff --git b/test/fake-symbols.c a/test/fake-symbols.c -index 2d94622..71c3bc5 100644 ---- b/test/fake-symbols.c -+++ a/test/fake-symbols.c +--- a/test/fake-symbols.c ++++ b/test/fake-symbols.c @@ -26,7 +26,7 @@ xf86WaitForInput (int fd, int timeout) } @@ -65,7 +63,7 @@ index 2d94622..71c3bc5 100644 { return NULL; } -@@ -85,7 +85,7 @@ xf86NameCmp(const char *s1, const char *s2) +@@ -85,7 +85,7 @@ xf86NameCmp(const char *s1, const char * } _X_EXPORT char * @@ -74,7 +72,7 @@ index 2d94622..71c3bc5 100644 { return NULL; } -@@ -196,8 +196,8 @@ xf86DeleteInput(InputInfoPtr pInp, int flags) +@@ -196,8 +196,8 @@ xf86DeleteInput(InputInfoPtr pInp, int f return; } @@ -85,7 +83,7 @@ index 2d94622..71c3bc5 100644 { return NULL; } -@@ -225,7 +225,7 @@ xf86PostKeyboardEvent(DeviceIntPtr device, +@@ -225,7 +225,7 @@ xf86PostKeyboardEvent(DeviceIntPtr } _X_EXPORT int @@ -94,7 +92,7 @@ index 2d94622..71c3bc5 100644 { return 0; } -@@ -254,7 +254,7 @@ InitPtrFeedbackClassDeviceStruct(DeviceIntPtr dev, PtrCtrlProcPtr controlProc) +@@ -254,7 +254,7 @@ InitPtrFeedbackClassDeviceStruct(DeviceI _X_EXPORT int XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type, int format, int mode, unsigned long len, @@ -103,7 +101,7 @@ index 2d94622..71c3bc5 100644 { return 0; } -@@ -367,15 +367,15 @@ InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes, Atom *labels, +@@ -367,15 +367,15 @@ InitValuatorClassDeviceStruct(DeviceIntP } @@ -123,7 +121,7 @@ index 2d94622..71c3bc5 100644 { return NULL; } -@@ -424,14 +424,14 @@ InitFocusClassDeviceStruct(DeviceIntPtr dev) +@@ -424,14 +424,14 @@ InitFocusClassDeviceStruct(DeviceIntPtr #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 void @@ -140,11 +138,9 @@ index 2d94622..71c3bc5 100644 { } -diff --git b/test/fake-symbols.h a/test/fake-symbols.h -index a297d28..dfe1355 100644 ---- b/test/fake-symbols.h -+++ a/test/fake-symbols.h -@@ -1,38 +1,29 @@ +--- a/test/fake-symbols.h ++++ b/test/fake-symbols.h +@@ -1,37 +1,29 @@ #include <xorg-server.h> #include <xf86Xinput.h> @@ -178,7 +174,6 @@ index a297d28..dfe1355 100644 -extern char * xf86SetStrOption(OPTTYPE optlist, const char *name, CONST char *deflt); --extern _X_EXPORT char *xf86SetStrOption(XF86OptionPtr optlist, const char *name, const char *deflt); -extern int xf86SetBoolOption(OPTTYPE optlist, const char *name, int deflt); -extern OPTTYPE xf86AddNewOption(OPTTYPE head, const char *name, const char *val); -extern CONST char* xf86FindOptionValue(OPTTYPE options, const char *name); @@ -196,7 +191,7 @@ index a297d28..dfe1355 100644 extern void xf86AddEnabledDevice(InputInfoPtr pInfo); extern void xf86RemoveEnabledDevice(InputInfoPtr pInfo); extern Atom XIGetKnownProperty(char *name); -@@ -62,7 +53,7 @@ XISetDevicePropertyDeletable(DeviceIntPtr dev, Atom property, Bool deletable); +@@ -61,7 +52,7 @@ XISetDevicePropertyDeletable(DeviceIntPt extern InputInfoPtr xf86FirstLocalDevice(void); extern void xf86DeleteInput(InputInfoPtr pInp, int flags); @@ -205,7 +200,7 @@ index a297d28..dfe1355 100644 extern Bool InitButtonClassDeviceStruct(DeviceIntPtr dev, int numButtons, Atom* labels, CARD8 *map); -@@ -74,7 +65,7 @@ xf86PostKeyboardEvent(DeviceIntPtr device, +@@ -73,7 +64,7 @@ xf86PostKeyboardEvent(DeviceIntPtr unsigned int key_code, int is_down); extern int @@ -214,7 +209,7 @@ index a297d28..dfe1355 100644 extern void xf86PostButtonEventP(DeviceIntPtr device, int is_absolute, -@@ -92,7 +83,7 @@ InitPtrFeedbackClassDeviceStruct(DeviceIntPtr dev, PtrCtrlProcPtr controlProc); +@@ -91,7 +82,7 @@ InitPtrFeedbackClassDeviceStruct(DeviceI extern int XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type, int format, int mode, unsigned long len, @@ -223,7 +218,7 @@ index a297d28..dfe1355 100644 extern CARD32 GetTimeInMillis (void); extern int -@@ -141,10 +132,10 @@ extern Bool +@@ -140,10 +131,10 @@ extern Bool InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes, Atom *labels, int numMotionEvents, int mode); @@ -237,7 +232,7 @@ index a297d28..dfe1355 100644 extern int XIGetDeviceProperty (DeviceIntPtr dev, Atom property, XIPropertyValuePtr *value); -@@ -168,12 +159,12 @@ extern Bool InitFocusClassDeviceStruct(DeviceIntPtr dev); +@@ -167,12 +158,12 @@ extern Bool InitFocusClassDeviceStruct(D #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 extern void commit 76806ea7b569dbb0d5576a24299e82fc80633c0a Author: Chase Douglas <chase.doug...@canonical.com> Date: Fri Feb 10 18:17:55 2012 -0800 Drop 126_default_speed.patch, no longer necessary diff --git a/debian/changelog b/debian/changelog index 763d6d8..4532720 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,9 @@ xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) UNRELEASED; urgency=lo * Update to latest code in git (e6032c3) * Drop 127_multitouch.patch, merged upstream + * Drop 126_default_speed.patch, no longer necessary - -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:17:01 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:17:35 -0800 xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) precise; urgency=low diff --git a/debian/patches/126_default_speed.patch b/debian/patches/126_default_speed.patch deleted file mode 100644 index 62b37cb..0000000 --- a/debian/patches/126_default_speed.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/synaptics.c -+++ b/src/synaptics.c -@@ -581,7 +581,7 @@ static void set_default_parameters(Input - pars->press_motion_max_z = xf86SetIntOption(opts, "PressureMotionMaxZ", pressureMotionMaxZ); - pars->resolution_detect = xf86SetBoolOption(opts, "ResolutionDetect", TRUE); - -- pars->min_speed = xf86SetRealOption(opts, "MinSpeed", 0.4); -+ pars->min_speed = xf86SetRealOption(opts, "MinSpeed", 0.25); - pars->max_speed = xf86SetRealOption(opts, "MaxSpeed", 0.7); - pars->accl = xf86SetRealOption(opts, "AccelFactor", accelFactor); - pars->trackstick_speed = xf86SetRealOption(opts, "TrackstickSpeed", 40); diff --git a/debian/patches/series b/debian/patches/series index 87644a2..12b44ec 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -16,4 +16,3 @@ #123_order_ProcessTouch_for_numFingers.patch 124_syndaemon_events.patch 125_option_rec_revert.patch -126_default_speed.patch commit 942e078d7ffa76487f73c4f513b10e370c5ae247 Author: Chase Douglas <chase.doug...@canonical.com> Date: Fri Feb 10 18:17:12 2012 -0800 Drop 127_multitouch.patch, merged upstream diff --git a/debian/changelog b/debian/changelog index f8ea55c..763d6d8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ xserver-xorg-input-synaptics (1.5.0+git20120210-0ubuntu1) UNRELEASED; urgency=low * Update to latest code in git (e6032c3) + * Drop 127_multitouch.patch, merged upstream - -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:14:58 -0800 + -- Chase Douglas <chase.doug...@ubuntu.com> Fri, 10 Feb 2012 18:17:01 -0800 xserver-xorg-input-synaptics (1.5.0+git20120101-1ubuntu2) precise; urgency=low diff --git a/debian/patches/127_multitouch.patch b/debian/patches/127_multitouch.patch deleted file mode 100644 index 87d25f3..0000000 --- a/debian/patches/127_multitouch.patch +++ /dev/null @@ -1,748 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index bb95403..166a4f8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -64,6 +64,11 @@ AC_SUBST([sdkdir]) - DRIVER_NAME=synaptics - AC_SUBST([DRIVER_NAME]) - -+PKG_CHECK_MODULES(XI22, [inputproto >= 2.1.99.3] [xorg-server >= 1.11.3], HAVE_XI22="yes", HAVE_XI22="no") -+if test "x$HAVE_XI22" = xyes; then -+ AC_DEFINE(HAVE_MULTITOUCH, 1, [XI2.2 available]) -+fi -+ - # ----------------------------------------------------------------------------- - # Configuration options - # ----------------------------------------------------------------------------- -@@ -116,6 +121,14 @@ case "${host}" in - esac - if test "x$BUILD_EVENTCOMM" = xyes; then - AC_DEFINE(BUILD_EVENTCOMM, 1, [Optional backend eventcomm enabled]) -+ -+ if test "x$HAVE_XI22" = xyes; then -+ # Obtain compiler/linker options for mtdev -+ PKG_CHECK_MODULES(MTDEV, mtdev, HAVE_MTDEV="yes", HAVE_MTDEV="no") -+ fi -+ if test "x$HAVE_XI22" = xyes && test "x$HAVE_MTDEV" = xyes; then -+ AC_DEFINE(HAVE_MTDEV, 1, [MTDev available]) -+ fi - fi - if test "x$BUILD_PSMCOMM" = xyes; then - AC_DEFINE(BUILD_PSMCOMM, 1, [Optional backend psmcomm enabled]) -diff --git a/src/Makefile.am b/src/Makefile.am -index 5e04670..a6715e6 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -44,6 +44,8 @@ endif - if BUILD_EVENTCOMM - @DRIVER_NAME@_drv_la_SOURCES += \ - eventcomm.c eventcomm.h -+@DRIVER_NAME@_drv_la_LIBADD = \ -+ $(MTDEV_LIBS) - endif - -- 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/e1s0kgh-0002sp...@vasks.debian.org