synclient.c:196:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
196 | dp_init()
| ^~~~~~~
synclient.c: In function ‘dp_init’:
synclient.c:196:1: warning: old-style function definition [-Wold-style-definition]
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This third state is not needed, the behaviour of the touchpad driver is now
good enough to not need an external syndaemon instance to toggle this third
state.
This reverts commit eea7335876.
Conflicts:
man/synaptics.man
src/synaptics.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
On a new set of laptops like the Lenovo T440 the trackstick does not have
physical buttons. Instead, the touchpad's top edge is supposed to acts
software button area. To avoid spurious cursor jumps when the trackstick is in
use and the finger is resting on the touchpad, add another mode that disables
motion events.
Enabled by syndaemon with -t click-only, the default stays unchanged. No
specific integration with the traditional disable-while-typing is needed. On
such touchpads, disabling motion events is sufficient to avoid spurious
events and we don't want to stop HW buttons to send events.
Note that this only adds the new state to the driver and to syndaemon, there
is nothing hooked up otherwise to actually monitor the trackstick.
Special note for syndaemon: optional arguments are a GNU extension, so work
around it by messing with an optstring starting with ":" which allows us to
manually parse the options.
Original version of this patch by John Pham <jhnphm@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This reverts commit 0903d99ada.
Scroll buttons are still present in some modern devices, e.g. the Fujitsu
Lifebook E782 and others in the series.
Conflicts:
include/synaptics.h
man/synaptics.man
src/synaptics.c
I doubt devices that have scrollbuttons are still manufactured. Having
untested code around is just asking for trouble.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
"Trackstick emulation mode? That exists?" I hear you say? Yes, indeed. Well,
no, not anymore. This driver is already unmaintainable without features like
this.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
SHM configuration was removed in Apr 2009 (c09a3d50e9), since then it has
only been usedful for debugging. And we have better tools (evtest) for
debugging hardware events.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
This patch allows scroll direction to be inverted by allowing
VertScrollDelta and HorizScrollDelta to be set to negative values. This
enables behaviour that is consistent with modern touchscreen devices,
where the content scrolls in the same direction as the user's finger
movement.
Signed-off-by: Alyssa Hung <ahung@isisview.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
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>
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>
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>
Remove the header inclusion to avoid dependency of synclient on the xserver
headers. The only property we need from the server is FLOAT and we can
simply define that here.
Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This patch allows usage of "synclient Orientation=0" (values from 0 to
3). It will rotate the touchpad similar to "xrandr -o". Original patch
was extended for alps and ps2.
Signed-off-by: Christoph Brill <egore911@egore911.de>
Fixes Solaris compiler warnings of:
"synclient.c", line 152: warning: implicit function declaration: index
"synclient.c", line 152: warning: improper pointer/integer combination: op "="
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
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 <pjcurran@wisc.edu>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
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.hutterer@who-t.net>
Guest mouse dates back to quite a while ago, hasn't been tested for ages and
the current synaptics interface guide claims the bit that we used to check
if guestmouse is available is "reserved for future use. The host should
ignore the values of reserved bits when reading the capability bits."
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
On some touchpads physical buttons are located under the touchpad surface. As a
result, when users try to perform a click, by pressing that part of the surface
of the touchpad, they get a click, a movement, a tap and (in some cases) a scroll,
which can make clicks quite inaccurate.
The "Synaptics Area" property can be used to define the edges of the active area of
the touchpad so that all movement, scrolling and tapping which take place outside
of this area will be ignored. This property is disabled by default.
Fixes xorg bug #21613.
Signed-off-by: Alberto Milone <alberto.milone@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
There's no real reason to restrict AccelFactor to 0.2, the driver itself
doesn't restrict AccelFactor either. Upwards of 1.0 it's hard to spot any
real differences in speed though, so 1.0 seems like a sensible maximum.
Red Hat Bug 462574 <https://bugzilla.redhat.com/show_bug.cgi?id=462574>
Reported-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
The tap-and-drag gesture is an alternative way of dragging.
It is performed by tapping (touching and releasing the finger), then
touching again and moving the finger on the touchpad.
This gesture is enabled by default and can be disabled by setting the
TapAndDragGesture option to false.
The gesture already existed in synaptics and was always enabled. This
commit adds an option to switch it on/off. The default behavior is
tap-and-drag being enabled, that is, TapAndDragGesture is true.
The "Synaptics Gestures" property is intended to hold all new gesture
enabling options, like options for the upcoming multitouch gestures.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This was only used in PS/2, on linux only on kernel 2.4 and it clobbered up
the rest. Move it to the ps2comm parts only, keep it private there.
This includes adding a "proto_data" field to the SynapticsPrivate.
This patch removes the -h option for synclient.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
libX11 actually expects longs for 32-bit values, even if they are 64 bits.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
The driver had all the right guards, but synclient and syndaemon didn't.
Check for xserver 1.6 and higher and disable property support in synclient
and syndaemon.
Note that the property headers still get installed even without support for
properties in the driver. This ensures that apps looking for synaptics >=
thisversion don't fail miserably.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Christoph Brill <egore@gmx.de>
synclient is not the driver. If you want to know the driver's version, look in
the log file. After all, synclient would only print the one it was compiled
with anyway, not the one of the driver.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>