xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2016-11-18 Thread Andreas Boll
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 3261e07c923c449f08a96a8439c97479b7ff899c
Author: Peter Hutterer 
Date:   Fri Nov 18 13:00:09 2016 +1000

synaptics 1.9.0

Signed-off-by: Peter Hutterer 

diff --git a/configure.ac b/configure.ac
index 970dd5f..6d814d5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.8.99.2],
+[1.9.0],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])



xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2016-10-13 Thread Andreas Boll
 conf/50-synaptics.conf |   46 ---
 conf/70-synaptics.conf |   46 +++
 conf/Makefile.am   |2 
 configure.ac   |9 
 docs/tapndrag.dia  |  522 +++--
 include/synaptics-properties.h |2 
 man/synaptics.man  |5 
 src/eventcomm.c|  140 --
 src/eventcomm.h|2 
 src/properties.c   |1 
 src/ps2comm.c  |3 
 src/ps2comm.h  |2 
 src/synaptics.c|  237 ++
 src/synapticsstr.h |9 
 src/synproto.h |2 
 tools/synclient.c  |1 
 tools/syndaemon.c  |   50 ++-
 17 files changed, 596 insertions(+), 483 deletions(-)

New commits:
commit a7d76f4275a88d98b18eed29a1ee94a70e7fa367
Author: Peter Hutterer 
Date:   Sun Oct 9 19:27:47 2016 +1000

synaptics 1.8.99.2

Signed-off-by: Peter Hutterer 

diff --git a/configure.ac b/configure.ac
index b3d0545..970dd5f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.8.99.1],
+[1.8.99.2],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 35b9472a189c88415fed137fb4c62a5081caaea5
Author: Peter Hutterer 
Date:   Thu Sep 15 13:47:09 2016 +1000

Remove unused fraction calculations

hw.x and the motion history are integers so our deltas are always integers.
It's a bit pointless to split them into the fractional and integral part.

obsolete since defc1d008e5674306a or so

Signed-off-by: Peter Hutterer 

diff --git a/src/synaptics.c b/src/synaptics.c
index bdc9605..c7ba9ad 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -2198,28 +2198,8 @@ static void
 get_delta(SynapticsPrivate *priv, const struct SynapticsHwState *hw,
   enum EdgeType edge, double *dx, double *dy)
 {
-double integral;
-double tmpf;
-
 *dx = hw->x - HIST(0).x;
 *dy = hw->y - HIST(0).y;
-
-/* report edge speed as synthetic motion. Of course, it would be
- * cooler to report floats than to buffer, but anyway. */
-
-/* FIXME: When these values go NaN, bad things happen. Root cause is 
unknown
- * thus far though. */
-if (isnan(priv->frac_x))
-priv->frac_x = 0;
-if (isnan(priv->frac_y))
-priv->frac_y = 0;
-
-tmpf = *dx + priv->frac_x;
-priv->frac_x = modf(tmpf, );
-*dx = integral;
-tmpf = *dy + priv->frac_y;
-priv->frac_y = modf(tmpf, );
-*dy = integral;
 }
 
 /* Vector length, but not sqrt'ed, we only need it for comparison */
diff --git a/src/synapticsstr.h b/src/synapticsstr.h
index 905b78b..33524e5 100644
--- a/src/synapticsstr.h
+++ b/src/synapticsstr.h
@@ -288,7 +288,6 @@ struct _SynapticsPrivateRec {
 Bool circ_scroll_on;/* Keeps track of currently active scroll 
modes */
 Bool circ_scroll_vert;  /* True: Generate vertical scroll events
False: Generate horizontal events */
-double frac_x, frac_y;  /* absolute -> relative fraction */
 enum MidButtonEmulation mid_emu_state;  /* emulated 3rd button */
 int repeatButtons;  /* buttons for repeat */
 int nextRepeat; /* Time when to trigger next auto repeat event 
*/

commit 486322116d70365c2e2a1d9f45830057fa03153e
Author: Peter Hutterer 
Date:   Wed Aug 17 11:32:12 2016 +1000

eventcomm: don't ever probe if a device is set

If opening the fd fails we still need to fail the device. This is 
particularly
the case when a device disappears before we can open it - the current code
wouldn't exit but instead switch to auto-probe touchpad devices on the 
system.

Signed-off-by: Peter Hutterer 
Reviewed-by: Hans de Goede 

diff --git a/src/eventcomm.c b/src/eventcomm.c
index 9c9a036..f65d532 100644
--- a/src/eventcomm.c
+++ b/src/eventcomm.c
@@ -1009,13 +1009,13 @@ EventAutoDevProbe(InputInfoPtr pInfo, const char 
*device)
 
 if (!(pInfo->flags & XI86_SERVER_FD))
 SYSCALL(close(fd));
-
-/* if a device is set and not a touchpad (or already grabbed),
- * we must return FALSE.  Otherwise, we'll add a device that
- * wasn't requested for and repeat
- * f5687a6741a19ef3081e7fd83ac55f6df8bcd5c2. */
-return touchpad_found;
 }
+
+/* if a device is set and not a touchpad (or already grabbed),
+ * we must return FALSE.  Otherwise, we'll add a device that
+ * wasn't requested for and repeat
+ * f5687a6741a19ef3081e7fd83ac55f6df8bcd5c2. */

xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2014-03-19 Thread Timo Aaltonen
 conf/11-x11-synaptics.fdi  |   12 ++
 conf/50-synaptics.conf |   15 +++
 configure.ac   |5 -
 include/synaptics-properties.h |3 
 man/synaptics.man  |   11 +-
 man/syndaemon.man  |8 -
 src/Makefile.am|1 
 src/eventcomm.c|  192 +
 src/properties.c   |   50 --
 src/synaptics.c|  132 
 src/synapticsstr.h |   21 +++-
 src/synproto.h |4 
 tools/synclient.c  |2 
 tools/syndaemon.c  |   33 +--
 14 files changed, 249 insertions(+), 240 deletions(-)

New commits:
commit fd709900445e3cb9f31ce7e780bfa98ecb6dab9b
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Tue Mar 18 07:28:44 2014 +1000

synaptics 1.7.99.1

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

diff --git a/configure.ac b/configure.ac
index 865d4b4..be6b7ad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.7.99],
+[1.7.99.1],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])

commit dc5474964d4ec73b5c324961026e1037bb344946
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Mon Mar 17 14:55:37 2014 +1000

If the touchpad is in TOUCHPAD_OFF mode, allow physical clicks

Enabling clicks in off mode also allows for the new Lenovo *40 series to use
the top software buttons while the touchpad is disabled. This benefits those
that usually disable touchpads altogether but still need the buttons for the
trackstick.

This changes existing behaviour, but TouchpadOff was always intended to stop
erroneous events while typing. Physical button presses are hard to trigger
accidentally. On the touchpads that TouchpadOff concept was originally
designed for the buttons are nowhere near the keyboard and are physically
separated from the touchpad anyway. On Clickpads, triggering a physical
click requires more force than accidentally touching the surface.

https://bugs.freedesktop.org/show_bug.cgi?id=76156

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
Reviewed-by: Hans de Goede hdego...@redhat.com

diff --git a/man/synaptics.man b/man/synaptics.man
index 97f0114..081ce12 100644
--- a/man/synaptics.man
+++ b/man/synaptics.man
@@ -261,9 +261,14 @@ Valid values are:
 .TS
 l l.
 0  Touchpad is enabled
-1  Touchpad is switched off
+1  Touchpad is switched off (physical clicks still work)
 2  Only tapping and scrolling is switched off
 .TE
+When the touchpad is switched off, button events caused by a physical
+button press are still interpreted. On a ClickPad, this includes
+software-emulated middle and right buttons as defined by
+the SoftButtonAreas setting.
+.TP
 Property: Synaptics Off
 .TP
 .BI Option \*qLockedDrags\*q \*q boolean \*q
diff --git a/src/synaptics.c b/src/synaptics.c
index aeb1c57..07fd450 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -1934,7 +1934,8 @@ HandleTapProcessing(SynapticsPrivate * priv, struct 
SynapticsHwState *hw,
 enum EdgeType edge;
 int delay = 10;
 
-if (priv-finger_state == FS_BLOCKED)
+if (para-touchpad_off == TOUCHPAD_OFF ||
+priv-finger_state == FS_BLOCKED)
 return delay;
 
 touch = finger = FS_TOUCHED  priv-finger_state == FS_UNTOUCHED;
@@ -2349,7 +2350,9 @@ HandleScrolling(SynapticsPrivate * priv, struct 
SynapticsHwState *hw,
 SynapticsParameters *para = priv-synpara;
 int delay = 10;
 
-if ((priv-synpara.touchpad_off == TOUCHPAD_TAP_OFF) || 
(priv-finger_state == FS_BLOCKED)) {
+if (priv-synpara.touchpad_off == TOUCHPAD_TAP_OFF ||
+priv-synpara.touchpad_off == TOUCHPAD_OFF ||
+priv-finger_state == FS_BLOCKED) {
 stop_coasting(priv);
 priv-circ_scroll_on = FALSE;
 priv-vert_scroll_edge_on = FALSE;
@@ -3080,12 +3083,6 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState 
*hw, CARD32 now,
 Bool using_cumulative_coords = FALSE;
 Bool ignore_motion;
 
-/* If touchpad is switched off, we skip the whole thing and return delay */
-if (para-touchpad_off == TOUCHPAD_OFF) {
-UpdateTouchState(pInfo, hw);
-return delay;
-}
-
 /* We need both and x/y, the driver can't handle just one of the two
  * yet. But since it's possible to hit a phys button on non-clickpads
  * without ever getting motion data first, we must continue with 0/0 for
@@ -3124,8 +3121,8 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState 
*hw, CARD32 now,
  current_button_area(para, hw-x, hw-y) == NO_BUTTON_AREA)
 priv-last_button_area = NO_BUTTON_AREA;
 
-ignore_motion =
-!using_cumulative_coords  

xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2013-07-25 Thread Maarten Lankhorst
Rebased ref, commits from common ancestor:
commit 96cf04dce19e7c90bc05b8b3b192b5bfb97381d2
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Mon May 13 10:03:48 2013 +1000

synaptics 1.7.1

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

diff --git a/configure.ac b/configure.ac
index b8a75cd..5dfbc4e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.7.0],
+[1.7.1],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 3bd40423b26ab692174ddcdd12489467ba876926
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu May 9 11:09:51 2013 +1000

Plug memory leak for priv-touch_axes

Allocated in event_query_touch, was never freed.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
Reviewed-by: Dave Airlie airl...@redhat.com

diff --git a/src/synaptics.c b/src/synaptics.c
index d4b21a9..eb38271 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -1035,6 +1035,8 @@ DeviceClose(DeviceIntPtr dev)
 RetValue = DeviceOff(dev);
 TimerFree(priv-timer);
 priv-timer = NULL;
+free(priv-touch_axes);
+priv-touch_axes = NULL;
 SynapticsHwStateFree(priv-hwState);
 SynapticsHwStateFree(priv-old_hw_state);
 SynapticsHwStateFree(priv-local_hw_state);

commit eb50f8023e9ce11c3f0249ef9ddf398a1d983c84
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu May 9 11:06:12 2013 +1000

Plug memory leak for option_string

xf86SetStrOption() returns a strdup'd string that must be freed after use.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
Reviewed-by: Dave Airlie airl...@redhat.com

diff --git a/src/synaptics.c b/src/synaptics.c
index 2de05d4..d4b21a9 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -513,12 +513,15 @@ set_softbutton_areas_option(InputInfoPtr pInfo)
 memcpy(pars-softbutton_areas[0], values, 4 * sizeof(int));
 memcpy(pars-softbutton_areas[1], values + 4, 4 * sizeof(int));
 
+free(option_string);
+
 return;
 
  fail:
 xf86IDrvMsg(pInfo, X_ERROR,
 invalid SoftButtonAreas value '%s', keeping defaults\n,
 option_string);
+free(option_string);
 }
 
 static void

commit 7cc0ebf0858ebb505d933839f25bb269a8cdb764
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Fri Apr 26 10:09:10 2013 +1000

Fix stack smash in clickpad_guess_clickfingers()

Apple Magic Trackpad can report 16 slots. In clickpad_guess_clickfingers()
the array allocated on the stack contains only 10 slots.
As (.num_mt_mask == .num_slots), the function writes out of the bounds
of close_point.

Use a size 32 bitmask instead and warn if we ever get past 32 touchpoints.

This fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=952221

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
Reported-by: Benjamin Tissoires benjamin.tissoi...@redhat.com

diff --git a/src/synaptics.c b/src/synaptics.c
index f0a8269..2de05d4 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -2453,10 +2453,11 @@ clickpad_guess_clickfingers(SynapticsPrivate * priv,
 struct SynapticsHwState *hw)
 {
 int nfingers = 0;
-char close_point[SYNAPTICS_MAX_TOUCHES] = { 0 };/* 1 for each point 
close
-   to another one */
+uint32_t close_point = 0; /* 1 bit for each point close to another one */
 int i, j;
 
+BUG_RETURN_VAL(hw-num_mt_mask  sizeof(close_point) * 8, 0);
+
 for (i = 0; i  hw-num_mt_mask - 1; i++) {
 ValuatorMask *f1;
 
@@ -2488,14 +2489,16 @@ clickpad_guess_clickfingers(SynapticsPrivate * priv,
  * size. Good luck. */
 if (abs(x1 - x2)  (priv-maxx - priv-minx) * .3 
 abs(y1 - y2)  (priv-maxy - priv-miny) * .3) {
-close_point[j] = 1;
-close_point[i] = 1;
+close_point |= (1  j);
+close_point |= (1  i);
 }
 }
 }
 
-for (i = 0; i  SYNAPTICS_MAX_TOUCHES; i++)
-nfingers += close_point[i];
+while (close_point  0) {
+nfingers += close_point  0x1;
+close_point = 1;
+}
 
 return nfingers;
 }

commit ac47b4ea5b4f7b920b84a1e70adce3475e3be346
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Wed Apr 3 10:50:50 2013 +1000

Allow soft button areas to overlap on the edge

For percent-based configuration in the form of
middle button 33%-66%, right button 66%-0 we'd get an error because of the
one device unit overlap. This was neither documented nor useful, because
leaving a 1% gap leaves an actual gap between the buttons. Allow for an
overlap of one device unit on the edge of the buttons.

What's picked in that case depends on the 

xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2013-03-07 Thread Timo Aaltonen
 conf/50-synaptics.conf |3 +++
 configure.ac   |2 +-
 src/eventcomm.c|   12 ++--
 src/properties.c   |   10 ++
 src/ps2comm.c  |8 
 src/synaptics.c|7 +--
 src/synapticsstr.h |4 
 test/fake-symbols.c|   12 ++--
 test/fake-symbols.h|2 --
 9 files changed, 39 insertions(+), 21 deletions(-)

New commits:
commit 947d96faabc7267177da32fbfc9f8c3a81b576af
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Fri Feb 1 15:53:14 2013 +1000

synaptics 1.6.3

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

diff --git a/configure.ac b/configure.ac
index 2490ddb..a2e68a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.6.2.901],
+[1.6.3],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 3b02d3061e58097ab5644b85250ed48e5ef0b02a
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Fri Jan 4 16:08:47 2013 +1000

conf: add example for AreaBottomEdge on clickpad buttons

Those that use clickpad buttons as buttons can see cursor jumps as the press
on the touchpad - largely caused by the finger changing shape as the
pressure changes and thus moving the hotspot.

Simple fix is to define the clickpad soft button areas as dead areas, but
this cannot be set as general option as it would break for those that use
tapping.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
(cherry picked from commit 2159b5d26207c83efea6efca7fa5765df95a4219)

diff --git a/conf/50-synaptics.conf b/conf/50-synaptics.conf
index 9e86a7a..dd16ca2 100644
--- a/conf/50-synaptics.conf
+++ b/conf/50-synaptics.conf
@@ -32,6 +32,9 @@ Section InputClass
 Identifier Default clickpad buttons
 MatchDriver synaptics
 Option SoftButtonAreas 50% 0 82% 0 0 0 0 0
+#   To disable the bottom edge area so the buttons only work as buttons,
+#   not for movement, set the AreaBottomEdge
+#   Option AreaBottomEdge 82%
 EndSection
 
 # This option disables software buttons on Apple touchpads.

commit f23991d3c2bbf25d467ddd6d850acd5bca3cd4b2
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu Jan 17 19:22:03 2013 +1000

synaptics 1.6.2.901

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

diff --git a/configure.ac b/configure.ac
index 894d4f5..2490ddb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.6.2],
+[1.6.2.901],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])

commit cb883766ec07b3380541fe9248aa46f07c39c338
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu Aug 23 16:22:31 2012 +1000

Recognise the soft button area property before clickpad is enabled

Otherwise the driver has no internal reference to the soft button area
property and will ignore any setting.

Also, if a client sets this property, we claim it as our own and disallow
deletion.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
(cherry picked from commit 86460318ba5606ef41712b52e50bf7b2ba083226)

diff --git a/src/properties.c b/src/properties.c
index 3b3f1c5..83f370d 100644
--- a/src/properties.c
+++ b/src/properties.c
@@ -839,6 +839,16 @@ SetProperty(DeviceIntPtr dev, Atom property, 
XIPropertyValuePtr prop,
 }
 else if (property == prop_product_id || property == prop_device_node)
 return BadValue;/* read-only */
+else { /* unknown property */
+if (strcmp(SYNAPTICS_PROP_SOFTBUTTON_AREAS, NameForAtom(property)) == 
0)
+{
+prop_softbutton_areas = property;
+if (SetProperty(dev, property, prop, checkonly) != Success)
+prop_softbutton_areas = 0;
+else if (!checkonly)
+XISetDevicePropertyDeletable(dev, property, FALSE);
+}
+}
 
 return Success;
 }

commit 7d1df986e1330a02cfb74a0babae1ae78768aa52
Author: Daniel Stone dan...@fooishbar.org
Date:   Sat Dec 29 03:24:52 2012 +

Free mtdev device as well as closing it

mtdev_close_delete() is to mtdev_new_open() as mtdev_close() is to
mtdev_open().  So, since we're using mtdev_new_open(), we need to use
mtdev_close_delete() instead of just mtdev_close() to actually free
everything.

Fixes an eventual failure to open the touchpad device after a lot of
suspend/resume cycles.

[whot: amended to mtdev_close_delete in evdev_query_touch]

Signed-off-by: Daniel Stone dan...@fooishbar.org
Reviewed-by: Dan Nicholson dbn.li...@gmail.com
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2012-07-16 Thread Maarten Lankhorst
 conf/50-synaptics.conf |   18 
 configure.ac   |   18 
 include/synaptics-properties.h |8 
 include/synaptics.h|   39 
 man/synaptics.man  |   58 
 src/Makefile.am|3 
 src/alpscomm.c |  101 -
 src/eventcomm.c|  888 ---
 src/eventcomm.h|9 
 src/properties.c   |  618 
 src/ps2comm.c  |  538 +++
 src/ps2comm.h  |   21 
 src/psmcomm.c  |   71 
 src/synaptics.c| 3114 +
 src/synapticsstr.h |  356 ++--
 src/synproto.c |  183 ++
 src/synproto.h |   78 -
 test/Makefile.am   |3 
 test/eventcomm-test.c  |  184 +-
 test/fake-symbols.c|  199 +-
 test/fake-symbols.h|  170 +-
 tools/synclient.c  |  593 ---
 tools/syndaemon.c  |  604 ---
 23 files changed, 4794 insertions(+), 3080 deletions(-)

New commits:
commit d5ff9d8b0b186cf39695df84a10984eac559b746
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Tue Jun 12 13:46:34 2012 +1000

synaptics 1.6.2

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

diff --git a/configure.ac b/configure.ac
index 3e7ec2a..894d4f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.6.1.901],
+[1.6.2],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])

commit c1aae820601a911432c64938f03eab62bafaab2f
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Fri May 18 09:38:50 2012 +1000

synaptics 1.6.1.901

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

diff --git a/configure.ac b/configure.ac
index 565daf2..3e7ec2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-synaptics],
-[1.6.1],
+[1.6.1.901],
 [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 [xf86-input-synaptics])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 7ccca8e7d8fbf2ccb5a2dbbfbf06ff4dbd6b7149
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu May 17 12:10:04 2012 +1000

Don't allow for scroll distances of 0 (#49965)

It'll either hang the server or blow up with divisions by 0, whichever one
comes first.

X.Org Bug 49965 http://bugs.freedesktop.org/show_bug.cgi?id=49965

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
Reviewed-by: Chase Douglas chase.doug...@canonical.com
(cherry picked from commit 6d47d334d8a876e7e094306c313246b87016b78a)

diff --git a/src/properties.c b/src/properties.c
index 44ac306..3b3f1c5 100644
--- a/src/properties.c
+++ b/src/properties.c
@@ -519,6 +519,9 @@ SetProperty(DeviceIntPtr dev, Atom property, 
XIPropertyValuePtr prop,
 return BadMatch;
 
 dist = (INT32 *) prop-data;
+if (dist[0] == 0 || dist[1] == 0)
+return BadValue;
+
 if (para-scroll_dist_vert != dist[0]) {
 para-scroll_dist_vert = dist[0];
 #ifdef HAVE_SMOOTH_SCROLL
@@ -715,6 +718,9 @@ SetProperty(DeviceIntPtr dev, Atom property, 
XIPropertyValuePtr prop,
 return BadMatch;
 
 circdist = *(float *) prop-data;
+if (circdist == 0)
+return BadValue;
+
 para-scroll_dist_circ = circdist;
 }
 else if (property == prop_circscroll_trigger) {

commit f8d970e191e6df05a8f2c26afdeea3e27b941a62
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu May 17 11:02:02 2012 +1000

Reset hw-x/y to INT_MIN and skip HandleState until we have x/y events

The driver assumes x/y is always valid but after coming from a resume we may
get a few events with either ABS_X or ABS_Y (not both). Thus we process with
hw-x == 0 and hw-y == somevalue, causing cursor jumps when calculating
deltas whenver the real hw-x comes in.

Fix this by resetting hw-x/y to INT_MIN and skip state processing until
both axes are available.

For clickpads, this means handling of data will be delayed until we get
at least one motion on each axis. Button presses won't be recognised either
until that happens. It requires some skill to not trigger motion on both
axes, even more to press a button without doing so.

For non-clickpads, handling of motion events will be delayed likewise. If a
physical button is pressed immediately after resume we have to assume deltas
of x/y.
- If the next event is a new touch, it will have ABS_X/ABS_Y set anyway
- If the finger was already down, a button event is generated, and the
  finger has generated ABS_X or ABS_Y only before the event, the next event
  containing the missing data 

xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2011-12-31 Thread Cyril Brulebois
 Makefile.am|8 
 README |6 
 conf/11-x11-synaptics.fdi  |   10 
 conf/50-synaptics.conf |   21 
 configure.ac   |   38 -
 include/Makefile.am|1 
 include/synaptics-properties.h |9 
 man/Makefile.am|3 
 man/synaptics.man  |   94 +-
 man/syndaemon.man  |   41 -
 src/Makefile.am|9 
 src/alpscomm.c |   25 
 src/alpscomm.h |   33 
 src/eventcomm.c|  384 ++
 src/eventcomm.h|6 
 src/properties.c   |  172 +++-
 src/ps2comm.c  |  129 +--
 src/ps2comm.h  |   15 
 src/psmcomm.c  |   55 -
 src/synaptics.c| 1473 +++--
 src/synapticsstr.h |   65 +
 src/synproto.h |   33 
 test/.gitignore|6 
 test/Makefile.am   |   15 
 test/eventcomm-test.c  |  285 +++
 test/fake-symbols.c|  452 
 test/fake-symbols.h|  187 +
 test/test-pad.c|  121 ---
 test/testprotocol.c|   82 --
 tools/Makefile.am  |3 
 tools/synclient.c  |3 
 tools/syndaemon.c  |   63 +
 32 files changed, 2542 insertions(+), 1305 deletions(-)

New commits:
commit 9f9b55ab55ed5251c1607c59d8817231d076d82c
Author: Peter Hutterer peter.hutte...@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.hutte...@who-t.net

diff --git a/test/fake-symbols.c b/test/fake-symbols.c
index a312aa0..2d94622 100644
--- a/test/fake-symbols.c
+++ b/test/fake-symbols.c
@@ -44,7 +44,7 @@ xf86ReplaceIntOption(OPTTYPE optlist, const char *name, const 
int val)
 }
 
 _X_EXPORT char *
-xf86SetStrOption(OPTTYPE optlist, const char *name, char *deflt)
+xf86SetStrOption(OPTTYPE optlist, const char *name, CONST char *deflt)
 {
 return NULL;
 }
@@ -60,7 +60,7 @@ xf86AddNewOption(OPTTYPE head, const char *name, const char 
*val)
 {
 return NULL;
 }
-_X_EXPORT char *
+_X_EXPORT CONST char *
 xf86FindOptionValue(OPTTYPE options, const char *name)
 {
 return NULL;
diff --git a/test/fake-symbols.h b/test/fake-symbols.h
index 7c74f7a..a297d28 100644
--- a/test/fake-symbols.h
+++ b/test/fake-symbols.h
@@ -3,8 +3,10 @@
 
 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) = 14
 #define OPTTYPE XF86OptionPtr
+#define CONST const
 #else
 #define OPTTYPE pointer
+#define CONST 
 #endif
 
 extern int xf86ReadSerial (int fd, void *buf, int count);
@@ -17,15 +19,16 @@ extern int xf86SetSerialSpeed (int fd, int speed);
 extern OPTTYPE xf86ReplaceIntOption(OPTTYPE optlist, const char *name, const 
int val);
 extern OPTTYPE xf86AddNewOption(OPTTYPE head, const char *name, const char 
*val);
 extern char* xf86OptionName(OPTTYPE opt);
-extern char* xf86FindOptionValue(OPTTYPE options, const char *name);
+extern CONST char* xf86FindOptionValue(OPTTYPE options, const char *name);
 extern int xf86NameCmp(const char *s1, const char *s2);
 extern char* xf86CheckStrOption(OPTTYPE optlist, const char *name, char 
*deflt);
 
 
-extern char * xf86SetStrOption(OPTTYPE optlist, const char *name, char *deflt);
+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 char* xf86FindOptionValue(OPTTYPE options, const char *name);
+extern CONST char* xf86FindOptionValue(OPTTYPE options, const char *name);
 extern char* xf86OptionName(OPTTYPE opt);
 extern char *xf86OptionValue(OPTTYPE opt);
 extern int xf86NameCmp(const char *s1, const char *s2);

commit b7e65f04f5f0c17ac8a26393134cc7e8418ccdec
Author: Cyril Brulebois k...@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:
  @@
  

xserver-xorg-input-synaptics: Changes to 'upstream-experimental'

2010-10-18 Thread Robert Hooker
New branch 'upstream-experimental' available with the following commits:
commit 1a9495a74c41d956751177807602383ce4549c37
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Wed Sep 1 09:04:11 2010 +1000

synaptics 1.3.0

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit 33632e447b311950729350e5802b5b1ee9616677
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Mon Aug 23 15:12:05 2010 +1000

man: use secondsĀ² instead of seconds per second

Makes it hopefully slightly less confusing. Should have been amended before
the push but ENOTENOUGHCOFFEE.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit 7a741ddedab477baea21f3d8ce6390b7bf72399f
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Mon Aug 23 11:55:45 2010 +1000

synaptics 1.2.99.901

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit 59151a548dcbac6f68e4f921b5c47aea4e5bc2a3
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Fri Aug 20 11:09:04 2010 +1000

Enable coasting by default with a value of 20.

The default value for friction coasting makes coasting much more useful now
since it stops coasting after a while. Enable it by default, the man page
already claims a default of 20 anyway.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit 56655fd15f676fea143f3963e23b464b275b2e77
Author: Patrick Curran pjcur...@wisc.edu
Date:   Fri Jul 23 17:28:01 2010 -0500

Added friction physics so coasting can stop on its own.

When you are coasting (but not corner coasting) you might want the
scrolling to slow down and stop on its own.  This also lets you
start coasting while using a two finger scroll.

Signed-off-by: Patrick Curran pjcur...@wisc.edu
Reviewed-by: Peter Hutterer peter.hutte...@who-t.net
Tested-by: Peter Hutterer peter.hutte...@who-t.net
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit a6ca4d2523904b7ce49edc29ba408979bdf0d45e
Author: Chris Bagwell ch...@cnpbagwell.com
Date:   Wed Aug 18 22:09:45 2010 -0500

Reset X/Y hist on multi finger transition to fix jumps

Most modern touchpads track 1st finger during multi-touch.  If first finger
is lifted then a jump will occur as X/Y transition to next finger location.
Resetting X/Y history as each finger is lifted will hide this transition.

Synaptics hw specs claim older hardware report X/Y values that are average
point between multi-fingers which can cause unwanted jump.  Reset X/Y
history during transition to new fingers to hide this as well.

Signed-off-by: Chris Bagwell ch...@cnpbagwell.com
Tested-by: Peter Hutterer peter.hutte...@who-t.net
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit b774a1dba2f1f45c94fe898fe8b5ce258cbcddfc
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu Aug 19 14:25:29 2010 +1000

Increase the default acceleration factor.

With 4e0e53fcba6fd99d458df1905d055d63360155c0 the driver got it's own
acceleration mechanism. This slowed down the pointer movement a lot,
especially on ALPS touchpads. Increase the default acceleration factor to
accommodate for this.

The number itself is chosen through guesswork and informal tests.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
Tested-by: Magnus Kessler magnus.kess...@gmx.net
Reviewed-by: Magnus Kessler magnus.kess...@gmx.net

commit 4b0003c3d4cee1f5c6675bde5701e2169959932a
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Thu Aug 19 14:22:03 2010 +1000

Up the precision of MaxSpeed and AccelFactor log output.

MaxSpeed usually has two decimals that matter, AccelFactor doesn't get
intersting until the second decimal, so print 3.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit 7acdbb7cf95299fda29d6bea691af925f5182749
Author: Peter Hutterer peter.hutte...@who-t.net
Date:   Tue Aug 17 11:34:32 2010 +1000

synclient: don't print missing if a property doesn't exist.

Virtually all touchpads still in use have one or more properties missing
anyway. If it's not in the list, then it's missing.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net

commit abb448a253cb0b3003038fbaa1daa9494c396e8f
Author: Chris Bagwell ch...@cnpbagwell.com
Date:   Wed Jul 7 21:35:22 2010 -0500

Align EmulateTwoFinger* docs to current behavior.

This corrects man page to mention EmulateTwoFingerMinW
and EmulateTwoFingerMinZ are considered together.  Old
man page read like driver would emulate two-finger even
if only pressure OR width (but not both) were supported.

Next, add note to align man page with patch that defaults
to enabling two-finger emulation on hardware that does not
support two-finger detection but does support pressure and
width detection.

Signed-off-by: Chris Bagwell ch...@cnpbagwell.com