xserver-xorg-input-synaptics: Changes to 'debian-unstable'
ChangeLog | 1305 ++++++++++++++++++++++++++++++++++++++++-
configure.ac | 14
debian/changelog | 8
include/synaptics-properties.h | 8
man/synaptics.man | 38 +
src/Makefile.am | 3
src/alpscomm.c | 6
src/eventcomm.c | 450 +++++++++++++-
src/eventcomm.h | 5
src/properties.c | 93 ++
src/ps2comm.c | 10
src/ps2comm.h | 2
src/synaptics.c | 1269 ++++++++++++++++++++++++++++++---------
src/synapticsstr.h | 85 ++
src/synproto.c | 158 ++++
src/synproto.h | 40 +
test/Makefile.am | 3
test/eventcomm-test.c | 116 ++-
test/fake-symbols.c | 89 ++
test/fake-symbols.h | 50 -
tools/synclient.c | 24
21 files changed, 3304 insertions(+), 472 deletions(-)
New commits:
commit 071d6e9e0d0670f4b26bade654e53a8c00b29416
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Mar 20 21:40:13 2012 +0000
Upload to unstable.
diff --git a/debian/changelog b/debian/changelog
index d50ee37..0a1a4b8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-xserver-xorg-input-synaptics (1.5.99.901-1) UNRELEASED; urgency=low
+xserver-xorg-input-synaptics (1.5.99.901-1) unstable; urgency=low
* New upstream release candidate (1.6 RC1):
- Add support for ClickPads.
* Multitouch isn't enabled yet (it would require a newer server anyway).
- -- Cyril Brulebois <kibi@debian.org> Tue, 20 Mar 2012 21:36:26 +0000
+ -- Cyril Brulebois <kibi@debian.org> Tue, 20 Mar 2012 21:40:10 +0000
xserver-xorg-input-synaptics (1.5.0-2) unstable; urgency=low
commit ae57989d0c78567fefd2fe7f78397976cb7ba6f9
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Mar 20 21:40:03 2012 +0000
Document clickpads/multitouch.
diff --git a/debian/changelog b/debian/changelog
index 12696e5..d50ee37 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
xserver-xorg-input-synaptics (1.5.99.901-1) UNRELEASED; urgency=low
- * New upstream release candidate (1.6 RC1).
+ * New upstream release candidate (1.6 RC1):
+ - Add support for ClickPads.
+ * Multitouch isn't enabled yet (it would require a newer server anyway).
-- Cyril Brulebois <kibi@debian.org> Tue, 20 Mar 2012 21:36:26 +0000
commit 647ff702b9f415b275e9b614df5297c49a76347b
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Mar 20 21:38:02 2012 +0000
Bump changelogs.
diff --git a/ChangeLog b/ChangeLog
index 3a4f2f5..97481b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,1036 @@
-commit 065a0b495d2a7eb76b61f9eec85248aefae4c8ee
+commit dd650a064b98b1c325a38e1370cc11059c257b07
Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Fri Sep 2 16:04:07 2011 +1000
+Date: Wed Mar 14 08:56:45 2012 +1000
- synaptics 1.5.0
+ synaptics 1.5.99.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-commit 3489e2467d43217971f17b9344fc2772cc0f164d
+commit 6c457c0c61a0834361f45a073148db7b4c9be40b
+Merge: defc1d0 fee18d8
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Mar 14 08:48:00 2012 +1000
+
+ Merge branch 'clickpad-v3'
+
+commit fee18d8567efd2e5abf6b29eb1ae9ee0e3858013
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Mar 13 16:08:12 2012 +1000
+
+ Soft buttons are only available on clickpad devices, disable them otherwise.
+
+ If the clickpad support is runtime enabled/disabled, the property
+ appears/disappears accordingly.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit c546779b32d8be23475b3b062e3ebc9235365c0d
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 16:56:29 2012 -0800
+
+ Ignore motion during touch count changes on semi-mt devices
+
+ Semi-mt devices do not track touches. The locations of touches are
+ unknown, we only have the bounding box of two of them. When the number of
+ fingers changes, the bounding box coordinates may change as well, but
+ the cumulative relative motion updates at that instant are invalid.
+
+ To work around this, ignore changes in cumulative relative motion if the
+ touch count changes.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 405f1643e26b57ee97063e76e71179ba8e9fbc92
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Mon Feb 6 17:33:11 2012 -0800
+
+ Add soft button areas property
+
+ Some clickpad devices have button areas painted on them. Set this
+ property to the area of the right and middle buttons to enable proper
+ click actions when clicking in the areas.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit f198522064501726d76bef4e11c02cfc778bb0c5
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 11:18:25 2012 -0800
+
+ Calculate touch data for semi-mt devices, but don't send touch events
+
+ Previously, all touch data from semi-mt devices was ignored because the
+ X server doesn't support them. However, the touch data must be used for
+ proper clickpad handling.
+
+ Instead of ignoring semi-mt device touch events, mark the device as
+ being semi-mt and allow initialization of the touch state. The touches
+ will then be used in calculating the cumulative_d{x,y} values that are
+ needed for clickpad support.
+
+ When handling the touch data for X event processing, simply skip over
+ reporting the touches.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit a6361e2d2c093c4170bab63307526702fe9903ad
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 14 14:46:07 2012 -0800
+
+ Disable scrolling when beginning a clickpad press
+
+ There really isn't a point to scrolling while a clickpad is pressed. In
+ particular, the clickpad button areas and the horizontal edge scrolling
+ areas overlap, so horizontal edge scrolling must be disabled. Also,
+ performing two finger scrolling while a third finger presses the button
+ would require us to inhibit touch events until four touches are present.
+ That is enough reason to disable two finger scrolling as well.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit de75ad6b073c1a36d5a60190de5ffe6611520637
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 10:57:00 2012 -0800
+
+ Enable clickpad click and drag with two fingers
+
+ Use cumulative relative touch motion when the clickpad is pressed. If
+ more than one touch is active, assume one of the touches is designated
+ solely for pressing the clickpad button. Thus, decrement the number of
+ reported touches.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 500243ac60ffeb5372e2edbce2f4443a07877d2e
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 10:43:08 2012 -0800
+
+ Add cumulative_d{x,y} to SynapticsHwState
+
+ These values will be used for clickpad press and drag with two fingers.
+
+ While the clickpad button is not pressed, cumulative_d{x,y} will match x
+ and y values. Once the clickpad button is pressed, cumulative_d{x,y}
+ will be updated with the relative motion of each active touch on the
+ touchpad. This allows for dragging with one finger while another finger
+ stays stationary holding the clickpad button down.
+
+ This is an easier and less latent approach than trying to guess which
+ touch was the "dragging" touch.
+
+ [fixed build error for mt off]
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 420e0abef663729b3ce6e9d26360e616b7270ba6
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 14:30:58 2012 +1000
+
+ Guess the number of clickpad ClickFingers based on finger distance
+
+ The actual distance should be done in cm, based on touchpad resolution etc.
+ That is left as an exercise for the reader.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 739cf056685772e69744f009f567e54324bc9dd0
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 15:33:56 2012 +1000
+
+ Disable middle mouse button emulation on clickpads
+
+ Because, well, really, how?
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 331dd969536aad48fae107e2215bfdd3e95db77e
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 11:26:06 2012 -0800
+
+ Add clickpad device property
+
+ Add it as a writable device property. We may not know how to probe some
+ clickpads so allow the user to override it.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit a64e1632836067091be5ca45d0444c416bf48948
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 15:38:25 2012 +1000
+
+ Add a BTN_EMULATED_FLAG to mark emulated buttons on clickfingers
+
+ And when copying the hardware state, don't copy those buttons that were set
+ through emulation.
+
+ This is a temporary fix only, we should add new fields to the hw struct that
+ represent the various features as they are enabled/disabled and then treat
+ them accordingly.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 70b4e983c6626b9b20bdf59324f64b3fd99c5202
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 14:29:28 2012 +1000
+
+ Only handle ClickFingers on left button press events
+
+ ClickFingers doesn't need to be handled on every state, only when the actual
+ button state changes.
+
+ This is a break from the previous behaviour which allowed pressing the
+ button followed by a two-finger tap to trigger the ClickFinger2 action.
+ Let's see if anyone complains.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit f6c1efbc6d22f41fb8a4abd2f57db173a2ac3171
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 14:20:35 2012 +1000
+
+ Add an old_hw_state field to remember the last values
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit bad1b75524f2fa882e9b6ac7160463fbd3b5cccf
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 13:43:04 2012 +1000
+
+ Move resetting hw state to separate function.
+
+ No functional changes.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit f0381f48a9383313e65508ec710b5c690b16286a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 13:39:32 2012 +1000
+
+ Move filtering into a separate function
+
+ No functional changes.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 4eea50d513bca888d8fe13759d0cc44de67bc4c0
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 13:25:27 2012 +1000
+
+ Move st->mt scaling to helper function
+
+ No functional changes.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 5bf7018783d1a96c9fac7a9074274e9b8606604d
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 13:22:53 2012 +1000
+
+ Use arrays for st->mt scaling
+
+ No functional changes
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 893ac427d0a7952c0f949071296fc2255790465e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Mar 13 11:41:53 2012 +1000
+
+ If the middle button timeout is 0, don't even attempt to emulate.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit defc1d008e5674306a7e9b9cb0c750d9787990b7
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 16:22:35 2012 -0800
+
+ Don't use linear regression when calculating touchpad motion deltas
+
+ The results depend on the data rate of the device. A device with a
+ higher data rate, and thus lower individual deltas, will behave
+ differently with the regression calculation.
+
+ This can be verified on Synaptics semi-mt clickpads. The data rate is
+ halved when two or more touches are on the device. When trying to press
+ a button and drag the cursor with another touch, the motion will feel
+ faster than dragging with only one touch on the device.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 7f5bd79b2e361a89a8c2716c218e4ae70b7164b8
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Mar 13 11:28:17 2012 +1000
+
+ tools: add hysteresis support to synclient
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 90d6633d11aa3691b6b39df3931a4024b832eb05
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Mar 12 09:45:05 2012 +1000
+
+ Fix build error - duplicate typedef (#47168)
+
+ Introduced in c34cf307f9982b62c6e6dfa2687e1b16f527f2a4.
+ synapticsstr.h includes synproto.h, which now contains the typedef.
+
+ X.Org Bug 47168 <http://bugs.freedesktop.org/show_bug.cgi?id=47168>
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit fadf9cf5e8659ca8500faac498327e6cadcd2652
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Mar 9 12:18:46 2012 +1000
+
+ Always require mtdev on eventcomm
+
+ Since a missing mtdev disables all of multitouch on eventcomm, we might as
+ well always require it.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 65243aedd8512d8cb439f7597862a545e8ca52ea
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Mar 7 09:12:55 2012 +1000
+
+ Fix horiz/vert scroll delta mixup
+
+ No effect as both have the same value anyway.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 704c0fa3b677d5d648d0ab9d65cd03043797f3bf
+Author: Peter Zotov <whitequark@whitequark.org>
+Date: Fri Mar 2 11:21:36 2012 +1000
+
+ Implement a workaround for Elantech touchpads
+
+ All Elantech touchpads report the number of fingers explicitly,
+ and at least the v3 version of the hardware can report any
+ pressure values down to zero. This interferes with the tap
+ detection hysteresis, which is required for dumb touchpads.
+
+ This commit implements a vendor-specific workaround for Elantech
+ touchpads which sets the FingerLow and FingerHigh options to 1
+ by default, effectively disabling the hysteresis mechanism.
+
+ Signed-off-by: Peter Zotov <whitequark@whitequark.org>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit cddab79c408db3b13905a2be72aff4f7bf1406f8
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu Mar 1 16:27:01 2012 +1000
+
+ Fix scoll increment for non-smooth scrolling (#46617)
+
+ Introduced in 2603ad69b997c999404ecc441e0d64ea2cc22018. Previously, the
+ delta was incremented by (actual delta/scroll dist), button clicks where
+ then sent while (delta-- >= 1).
+
+ After 2603ad69b997c999404ecc441e0d64ea2cc22018, the delta was incremented by
+ the delta only, scroll dist was used as increment in the smooth scrolling
+ information. On non-smooth-scrolling servers, the driver would now send
+ too many events. Restore the old behaviour by dividing by the scroll
+ distance before entering the button click loop.
+
+ X.Org Bug 46617 <http://bugs.freedesktop.org/show_bug.cgi?id=46617>
+
+ Tested-by: Peter Zotov <whitequark@whitequark.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 0a2fd560aa965ceac64c8fb047ca90006408a6f4
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 21 21:42:16 2012 +0100
+
+ 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.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit dfc3a8ed713c2878407c6443c4d3092da3125e0c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Feb 21 11:32:40 2012 +1000
+
+ synclient: accept XA_CARDINAL as 32-bit type (#46330)
+
+ PressureMotionMaxZ and PressureMotionMinZ were changed from float to
+ XA_CARDINAL in 24c44375025576dd600ccf370ba365e5d94dc22. Accept the new type.
+
+ Fixes:
+ PressureMotionMinZ = format mismatch (32)
+ PressureMotionMaxZ = format mismatch (32)
+
+ X.Org Bug 46330 <http://bugs.freedesktop.org/show_bug.cgi?id=46330>
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit c25ff549c9636ad89a81fbf364159c7f040d163b
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Feb 17 11:49:43 2012 +1000
+
+ Revert "Don't store fake events in the motion history"
+
+ 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.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Acked-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 0646cdb99d708e03137afc9aabd8957f3559546a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri Feb 17 11:46:12 2012 +1000
+
+ Fix build error if HAVE_MTDEV is false
+
+ priv->has_touch is conditional on HAVE_MTDEV
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit f9a906590e59383aef3c53faca98f0de40859f17
+Author: Chase Douglas <chase.douglas@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.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit e6032c34515a19ebac09090028f806d82ddfb62d
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 10:06:54 2012 -0800
+
+ Filter touch events if two-finger scrolling is enabled
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 796e0d43917de99757c08fd2998134cf6f5583c9
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 10:01:49 2012 -0800
+
+ Filter touch events if tap actions are enabled
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 061e4a259644408899e03ba5abdd979691a02b1a
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 9 09:55:17 2012 -0800
+
+ Filter touch events if click actions are enabled
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 336f9a09d090a8c3a9c976ab04ffb17bcdc2c2ea
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed Feb 8 15:06:33 2012 -0800
+
+ Move X touch event processing into synaptics.c
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 673c5fa14bff669d82f5711511a37bd3abe75471
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed Feb 8 16:08:02 2012 -0800
+
+ Add open_slots array to SynapticsPrivate
+
+ Initialize touch stuff in a separate function for readability.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 5cb5bb573491058c35bbaac5c4c4fceea4626f57
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 7 14:45:11 2012 -0800
+
+ Add touch valuator mask to hw state structure
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 0df994b3d80006d2fb114226d8b488e98d0e03d4
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed Feb 8 15:07:38 2012 -0800
+
+ Rename num_touches to max_touches
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 5486ab3486e1ba4a0ef8fc9efe4d243ea90f5794
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 7 14:38:33 2012 -0800
+
+ Introduce SynapticsCopyHwState function
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 5658a2f643cf7440009dde2fa74287332237c0b9
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed Feb 8 16:59:54 2012 -0800
+
+ Allocate priv->hwState
+
+ This is needed for when SynapticsHwState can't be allocated on the stack.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 7bcbf8eb110b1f7c6c085d3dcd69f66b00df2b8a
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 7 15:35:03 2012 -0800
+
+ Allocate SynapticsPrivate.comm->hwState
+
+ This is needed for when SynapticsHwState can't be allocated on the stack.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit a78d55d021c9cd3be6501760d6fca3464ea6dec8
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 7 15:23:43 2012 -0800
+
+ Allocate SynapticsHwStruct for local function use
+
+ SynapticsHwStruct (SHS) will soon include ValuatorMasks, which can only
+ be allocated on the heap. The input driver callbacks are called in
+ signal context, so we can't instantiate a new SHS when that occurs.
+ Since we only ever need one SHS, allocate one at device init time and
+ use it in place of local SHS instances.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit e5cd694ed1028b94fdbe10d76dbea1e03455f8fb
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Fri Feb 10 10:24:04 2012 -0800
+
+ Transition eventcomm-test to new SynapticsHwState instantiation scheme
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit c34cf307f9982b62c6e6dfa2687e1b16f527f2a4
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 7 15:14:05 2012 -0800
+
+ Introduce SynapticsHwStateAlloc() and SynapticsHwStateFree()
+
+ Put them in a new file so eventcomm-test can access them.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 146edc2baad1388f49a7a857c2003faa171876c7
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Fri Feb 10 10:48:44 2012 -0800
+
+ Allocate proto data in eventcomm-test
+
+ Provide a helper function for allocating proto data and use it in
+ eventcomm-test. This ensures a null pointer for priv->proto_data is not
+ dereferenced.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 49f6109032f2ce6171d1aad02672479d2c78c083
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Tue Feb 7 13:07:07 2012 -0800
+
+ Revert "Replace the motion estimator"
+
+ The algorithm is completely wrong because it uses subtraction of
+ unsigned variables. The negative effects of this commit manifest in
+ cursor warps to edges or corners of the screen.
+
+ Since the algorithm has never worked right, previous testing must be
+ disregarded. Revert it until we have a tested algorithm.
+
+ This reverts commit b26125e412a130b7a8f8b6adf9ffc8e9cc8df42c.
+
+ Conflicts:
+
+ src/synaptics.c
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 141d9120b1ff4a88a09a1df7d63a4854447346ec
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Feb 7 03:33:01 2012 +1000
+
+ Submit the right number of MT axes
+
+ For devices with only x/y, num_mt_axes is 0, since x/y are already counted
+ elsewhere. The server will then fail to init the TouchClassRec since it
+ expects at least 2 touch axes. Fix this, assume we always have at least two
+ touch axes if we have any touch axes at all.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit e4ee51e771a6da247362549044a076462791022b
+Merge: da0d20d 6b808dc
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Feb 7 02:51:08 2012 +1000
+
+ Merge branch 'fixes' of git://people.freedesktop.org/~cndougla/xf86-input-synaptics
+
+commit 6b808dc766a0d1e64e19e4d5fad5f8a1a4e0d62d
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed Feb 1 15:23:00 2012 -0800
+
+ Don't initialize semi-multitouch devices for touch device class
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit a8b065eeb847493afd31e49623fac9c952811993
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed Feb 1 15:42:21 2012 -0800
+
+ Don't initialize touch state if device does is not multitouch
+
+ And don't attempt to use it either.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 4824f67e7b9cf402a2df10c17f583916c4ef83eb
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed Feb 1 14:26:29 2012 -0800
+
+ Don't emit touch sequences if only one touch is active
+
+ When a second touch begins, emit a touch begin for the first touch with
+ the current valuator values. When a touch ends and we are going from two
+ touches down to one touch, end both touches. This ensures we don't send
+ a touch sequence at the same time we are moving the pointer.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit da0d20d0fd5cce3707b54146e54e2df0c697e1b4
+Author: Benjamin Otte <otte@redhat.com>
+Date: Mon Feb 6 00:45:23 2012 +0100
+
+ eventcomm: Fix initialization code
+
+ num_mt_axes contains the number of non-x/y multitouch axes, and the valuator
+ mask needs to contains x, y, followed by two empy values for the scroll
+ valuators, followed by the remaining MT axes.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=45663
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 3822705204f454fea6cc0bf61904c4b7186abee2
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 2 13:19:16 2012 -0800
+
+ Only move the cursor when one touch is on a touchpad
+
+ Otherwise, we might post motion events and touch events for the same
+ physical interaction.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit dfdcf8b34363ed2504347d00957a3606f82c0b0d
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Feb 2 13:19:15 2012 -0800
+
+ Ensure delta computation does not go crazy
+
+ I have seen this a couple times, but I haven't been able to catch it
+ when it starts. It's a feedback loop, so once you miss the entrance of
+ the loop, you can't see what really went wrong.
+
+ This patch papers over the issue for now.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Acked-by: Daniel Stone <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 782c7fb6fe20ed21b02808096de12d3cbf1afc8b
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Feb 6 23:43:32 2012 +1000
+
+ Remove compiler warning: unused variable "atom"
+
+ synaptics.c: In function 'DeviceInit':
+ synaptics.c:1161:18: warning: unused variable 'atom' [-Wunused-variable]
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 53adb8399d468d429cd879516aa24a8420f60f60
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Sat Feb 4 23:23:28 2012 +1000
+
+ synclient: fix indentation of "format mismatch" parameters
+
+ Prefix is 4 spaces, not three.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit d15c391544e9ba094b17c9217a837c58d88879f8
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Jan 19 13:05:50 2012 -0800
+
+ eventcomm: Add touch event handling
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit efdc34859bdbcf0622e88aaf8af99944c1fc2141
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Jan 19 13:05:49 2012 -0800
+
+ eventcomm: Read evdev events from mtdev where multitouch is available
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit b1b9745979babd480574b41af155dfe5c06591f8
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Jan 19 13:05:48 2012 -0800
+
+ eventcomm: Initialize touch device and axes
+
+ Use mtdev to ensure touches are tracked and of evdev MT protocol type
+ B.
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 56d32619b95eb472104068c35ea7146dccb8d1bf
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Jan 19 13:05:47 2012 -0800
+
+ Add touch device class support
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 7ef9150d832d6ede991c5def02d2964c8047ad4f
+Author: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu Jan 19 13:05:46 2012 -0800
+
+ Allocate axis labels array dynamically
+
+ Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 3804a0ee0bec455fcc61a469dd907738ff5589bd
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Wed Jan 4 17:02:30 2012 +0000
+
+ Constify priv->device
+
+ Fixes a compiler warning due to discarding the const qualifier as it
+ comes back from the option code.
+
+ Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit c861d4568c2c6cc56db8e683a8d7035bef711262
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Jan 3 11:03:14 2012 +1000
+
+ test: fix build error introduced in 9f9b55ab55ed5
+
+ Bad search/replace, ended up in two xf86SetStrOption declarations which
+ differed on ABIs < 14.
+
+ Fixes https://bugs.freedesktop.org/show_bug.cgi?id=44335
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit f5c60a6d1e87353975a340f8fb2f318c8edceea0
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Jan 3 10:59:46 2012 +1000
+
+ Remove unused variable 'thr'
+
+ synaptics.c: In function 'SynapticsAccelerationProfile':
+ synaptics.c:619:12: warning: unused variable 'thr' [-Wunused-variable]
+
+ On input ABIs < 14.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 3ec93218d2211420ede260e298ff5e23202556ff
+Author: JJ Ding <dgdunix@gmail.com>
+Date: Wed Dec 28 14:46:02 2011 +0800
+
+ fix wrong finger width range
+
+ Signed-off-by: JJ Ding <dgdunix@gmail.com>
+ Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 9f9b55ab55ed5251c1607c59d8817231d076d82c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon Dec 12 11:35:37 2011 +1000
+
+ test: fix build errors introduced by upstream server change
+
+ Introduced by upstream change xorg-server-1.11.99.1-33-g09e4b78,
+ Fix gcc -Wwrite-strings warnings in xf86 ddx
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit b7e65f04f5f0c17ac8a26393134cc7e8418ccdec
+Author: Cyril Brulebois <kibi@debian.org>
+Date: Mon Dec 12 01:35:27 2011 +0100
+
+ Revert: "eventcomm: replace synaptics-custom TEST_BIT with server's BitIsOn."
+
+ This commit reverts 13543b156d78bc4d01a19844a5ee8f283269621b
+
+ As seen in Debian's #648488, this switch causes a regression on
+ PowerPC, especially seen on iBook G4 with appletouch. Take a defensive
+ stance and revert back to a working state until things have been figured
+ out and fixed properly.
+
+ Since things have evolved and since that revert triggers a lot of
+ conflicts, the following method was applied:
+ - manual reintroduction of the 3 removed macros: OFF, LONG, TEST_BIT
+ - coccinelle semantic patch to revert from BitIsOn to TEST_BIT
+
+ Coccinelle semantic patch:
+ @@
+ expression a,b;
+ @@
+ -BitIsOn(a,b)
+ +TEST_BIT(b,a)
+
+ Bugzilla: http://bugs.debian.org/648488
+ Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+commit 0cd5a77c3a455e942929eb4d5412fa51630ed13f
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Nov 30 09:59:37 2011 +1000
+
+ If protocol is auto-dev and the device path is set, unset the protocol
+
+ The remainder of the handling code will take try through all protocols,
+ taking the device into account (as of
+ xf86-input-synaptics-1.4.0-34-g241254e)
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit d1301412d7b7acd6325f0561c109f2b8e1c7a999
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed Nov 30 09:39:12 2011 +1000
+
+ Return true/false from SetDeviceAndProtocol
+
+ Instead of requiring the caller to know which private field indicates
+ failure, just return true on success or false on failure.
+
+ No functional change.
+
+ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+ Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+ Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit 2603ad69b997c999404ecc441e0d64ea2cc22018
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue Oct 18 15:46:03 2011 +1000
Reply to: