Age | Commit message (Collapse) | Author |
|
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This introduces hysteresis into the driver's processing. It significantly
reduces noise motion, i.e. now the pad does no longer generate a stream of
sub-pixel events when just holding the position with the finger down.
Also, taking off the finger no longer generates additional motion,
scrolling becomes flicker-free etc.
The code makes use of "fuzz" from the kernel, if available. This has not
been tested extensively, as an overwhelming majority of evdev touchpad
drivers view 0 (zero) as a good value for fuzz, forcing userland into
assuming "zero fuzz" means "make zero assumptions about fuzz", not
"there is no fuzz". Until things improve, this is what we do.
Anyway, the fuzz a.k.a. hysteresis can be set/overridden with options
and properties, as documented.
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Makes it hopefully slightly less confusing. Should have been amended before
the push but ENOTENOUGHCOFFEE.
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>
|
|
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 <chris@cnpbagwell.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Documents has_pressure and has_width additions.
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
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>
|
|
git+ssh://git.freedesktop.org/git/xorg/driver/xf86-input-synaptics
|
|
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
AreaTopEdge and the other three can be specified as either an absolute
value, or as a percent of the matching dimension.
Option "AreaBottomEdge" "80%" will thus set the bottom edge of the input
area to 80% of the height of the touchpad, with the lower 20% being the dead
area.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
|
|
Under Linux the kernel handles everything, so these days synaptics is the
generic touchpad driver for anything that the kernel can handle. There
aren't many synaptics-specific bits in the driver anymore.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
|
|
Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
The value of MAN_SUBST is the same for all X.Org packages.
Use AC_PROG_SED now supplied by XORG_DEFAULT_OPTIONS
The existing statement can now be removed from the configuration file.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
Enables silent rule and use platform appropriate version of sed.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
|
|
There are not a lot of touchpads that have extra physical scroll buttons
anymore. For those that don't have them, don't initalize the properties and
conditionalize some of the code (moved into its own functions).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Tapping has changed from 1,2,3 to 1,3,2. Document this in the man page.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
The type of the Synaptics Area options in the man page was incorrectly
set to "boolean" but it's really "integer".
Signed-off-by: Alberto Milone <alberto.milone@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
X.Org Bug 9515 <http://bugs.freedesktop.org/show_bug.cgi?id=9515>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This option auto-adjusts the right edge on the touchpad but wrongly so. It
does not take the edge width into account, thus setting the right edge to
the max value received - leaving only a single-pixel scroll area in some
cases.
A previous attempt to auto-adjust edges has failed (afb60a0b). The kernel's
min/max values cannot be relied on for actual range clipping and thus scroll
edge settings are best left untouched.
X.Org Bug 21001 <http://bugs.freedesktop.org/show_bug.cgi?id=21001>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
(#21001)"
This reverts commit afb60a0b2497c5d08cbd1739fa8ae6585c428881.
From comment 24 to #21001:
I've been running this code for over a week now and I'm not happy with it.
Once I move over to the right, the scroll-edge becomes so small that it's
hard to trigger.
Source of the problem is the information provided by the kernel. The kernel
hands us a min/max value for the synaptics pads but this value is not
reflective of the actual physical boundaries. The other dimensions are based
on these min/max ranges.
My RightEdge setting by default is 5129, after moving to the right it
becomes 5677. The announced max for x is 5472. We have model-specific edge
settings and in the case of synaptics the width of the scroll area is 7% of
the total width (based on min/max). This works, but obviously only because
the max is wrong. I've tried upping this to 15% and it works fine but unless
the edge is adjusted the scroll bar takes over too much of the pad.
So right now I'm inclined to revert this patch and just ditch any
auto-adjustment of scroll edges whatsoever. This way, the original setting
is maintained even if we reach outside of the min/max area.
Conflicts:
src/synaptics.c
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>
|
|
Synaptics uses anisotropic coordinate system. On some wide touchpads
vertical resolution can be twice as high as horizontal which causes
unequal sensitivity on x/y directions.
VertResolution and HorizResolution can be used to set the resolution.
The ratio of the values is used to compensate x/y sensitivity. The
properties are configured automatically if touchpad reports resolution
and if running on linux 2.6.31 or newer.
Fixes xorg bug #18351.
Signed-off-by: Tero Saarni <tero.saarni@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
The kernel provides min/max for x/y values but still allows devices to send
coordinates outside this range. If the edges are autodetected, re-adjust the
edge settings to fit within the new effective min/max range.
When the edges change the property needs to be updated accordingly. This
can't be done immediately as changing properties requires mallocs and
HandleState is called during the signal handler.
Instead, set a timer to be called when the server isn't busy and update the
property then. The delay between setting the timer and sending the property
notify event also reduces the number of events sent, the property event
includes the latest state only.
If the edges were configured by the user, don't re-adjust.
This obsoletes the SpecialScrollAreaRight option as it provides the same
functionality, without the side-effects triggering 21001.
X.Org Bug 21001 <http://bugs.freedesktop.org/show_bug.cgi?id=21001>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Clarify how the new default values are set and what options to set
to get a different behaviour.
Signed-off-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This patch adds a "Synaptics Capabilities" property that advertises the
capabilities of the device in a read-only boolean property.
The first three values signal the presence of physical mouse buttons (left,
middle, right). Values 4 and 5 signal the touchpad's ability to do
multi-finger tracking.
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>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
|
|
SHM is only used for dumping and monitoring hardware state.
synclient now requires property support (i.e. server 1.6).
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This includes listing supported properties and de-emphasizing the need for
SHM.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
XRecord is disabled in the server by default, so let's not have it as default
here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Julien Cristau <jcristau@debian.org>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Julien Cristau <jcristau@debian.org>
|
|
By default, use the properties unless the -s flag is given. For -m and -h
imply SHM though.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
|
|
Signed-off-by: Christoph Brill <egore911@egore911.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
|
|
HistorySize is now deprecated for ABI > 0, so list it as a removed option in
the man page.
X.Org Bug 18988 <http://bugs.freedesktop.org/show_bug.cgi?id=18988>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
If RightEdge is specified as a config option, ignore the SpecialScrollArea.
Otherwise, adjust right_edge to the bounds of the hardware scroll area.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Christoph Brill <egore911@egore911.de>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
|
|
|
|
If Protocol event is used, the driver initializes defaults based on the
capabilities reported by the kernel driver. Acceleration and edges are based
on the dimensions reported by the kernel. If the kernel reports multi-finger
detection, two-finger vertical scrolling is enabled, horizontal two-finger
scrolling is disabled and edge scrolling is disabled. If no multi-finger
capabilities are reported, edge scrolling is enabled for both horizontal and
vertical scrolling.
|