Commit Graph

38 Commits

Author SHA1 Message Date
Alan Coopersmith
592215a584 Fix spelling/wording issues
Found by using:
    codespell --builtin clear,rare,usage,informal,code,names

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-01-16 12:42:17 -08:00
Gabriele Mazzotta
383355fa5f Remove FastTap leftovers
FastTap was removed with d14ea867ad ("Purge fast-taps option"),
remove all of what remained.

Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-01-12 11:08:56 +10:00
Peter Hutterer
66240dc329 Add property support for secondary (top) software buttons
This was originally intended as a fixed xorg.conf option only (and still
largely is seen as such). Secondary software button are required only on a specific series
of touchpads and should be pre-configured by the system and/or the
distribution. As such, the property will not be initialized if it is not set
in the xorg.conf and will thus not respond to runtime changes.

Exposing the property in this way gives clients a chance of detecting if a top
software button area is present and thus adjust their behaviour accordingly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2014-03-11 15:32:06 +10:00
Peter Hutterer
4f543ce1d6 Revert "Drop circular pad support"
This reverts commit 3b02e7fd81.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

Conflicts:
	man/synaptics.man
	src/synaptics.c

Acked-by: Daniel Stone <daniel@fooishbar.org>
2014-02-18 07:51:47 +10:00
Peter Hutterer
ebd36c7494 Move synaptics.h leftovers to synapticsstr.h, drop synaptics.h
This leaves us with a duplicated define for the maxbuttons but I'll live
with that for now.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
2012-05-10 10:06:25 +10:00
Peter Hutterer
3b02e7fd81 Drop circular pad support
Do such devices still exist?

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
2012-05-10 09:42:43 +10:00
Peter Hutterer
0903d99ada Purge scrollbuttons (repeat)
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>
2012-05-10 09:42:36 +10:00
Peter Hutterer
54f65f3ca1 Purge edge motion
A funny feature, but unreliable and mostly untested.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
2012-05-10 09:42:30 +10:00
Peter Hutterer
2c7eab5a6d Drop trackstick emulation mode
"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>
2012-05-10 09:42:23 +10:00
Peter Hutterer
83d88b2531 Bury shm - or what was left of it
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>
2012-05-10 09:42:19 +10:00
Peter Hutterer
0434d77766 Indent consistently
x-indent-all.sh from xorg/util/modular as of
c2d630fab65dbe3409af3947f6f442782ddb026f

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
2012-05-10 09:21:10 +10:00
Chase Douglas
405f1643e2 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>
2012-03-14 08:47:05 +10:00
Chase Douglas
331dd96953 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>
2012-03-14 08:46:54 +10:00
Derek Foreman
a24c443750 Fix pressure->motion property format
CARD32, not float.

Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2011-08-25 09:50:32 +10:00
Gaetan Nadon
cb6818b623 Revert "build: collapse all Makefile.am files into a single non-recursive one."
This reverts commit 39afe69ad7.

1. For such a small module, the build time improvement is most likely
negligible. At least, I'd like to see some timings proving it's
worthiness before seeing the patch go back in.

2. This kind of change would need a thorough review. The need to
operate the build from a single toplevel Makefile is a significant
change. The two most noticeable issues for me are that collapsing all
the Makefiles could easily cause namespacing issues with the
variables, and operating on files outside the current directory can
introduce subtle bugs. I feel that the non-recursive style is
generally less robust than the standard recursive make scheme.

3. It's unlike all the other X.org modules. This isn't a showstopper
for me, but the recursive style is well understood here and you've
beaten all the modules into a consistent format that makes build bugs
unique to specific modules less likely.

Acked-by: Dan Nicholson <dbn.lists@gmail.com>

To give a concrete example for #3 above, the 175 man pages are much
easier maintained using a very similar makefile in the man directory
of all X.Org module.

The cost of maintaining a single makefile is much higher. Every target
in the makefile has to be reviewed and tested when changes are made.
Not everyone has the all the skills to handle widely different targets
such as man pages, DocBook/XML, librairies, C code, distribution hooks,
and so on.

Acked-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-07-05 16:39:33 -04:00
Peter Hutterer
0c8971c80c include: update documentation for capabilities property
pressure and width were added recently

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-05-26 12:11:33 +10:00
Diego Elio Pettenò
39afe69ad7 build: collapse all Makefile.am files into a single non-recursive one.
With this change, the whole of the build is done non-recursively in the
top-level Makefile.am. This reduces the amount of overhead due to recursing
into directories only to build one file.

Signed-off-by: Diego Elio Pettenò <flameeyes@gmail.com>
Signed-off-by: Christoph Brill <egore911@egore911.de>
2011-05-15 21:46:06 +02:00
Peter Hutterer
4ebde557ae Revert "Add synaptics orientation support"
This patch needs more work before we can ship it.

This reverts commit 049d5fb603.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-03-18 16:25:02 +10:00
Aapo Rantalainen
049d5fb603 Add synaptics orientation support
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>
2011-03-09 22:27:04 +01:00
Simon Thum
cc26edfba1 Add hysteresis-based noise reduction
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>
2011-02-21 11:46:37 +10:00
Patrick Curran
56655fd15f 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 <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>
2010-08-20 11:08:47 +10:00
Peter Hutterer
b19e3782a7 Purge GuestMouse support.
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>
2010-06-17 11:23:30 +10:00
Peter Hutterer
078bad1582 Move some defines to where they belong.
These defines aren't used by anything but the ps2comm interface.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
2010-06-16 14:04:21 +10:00
Gaetan Nadon
4e221c1647 config: include files redundant in EXTRA_DIST
The HEADERS Automake primary variable always gets it's files
distributed and installed.

Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-04-05 20:57:06 -04:00
Alberto Milone
7179a0eb11 Add active area outside of which movements, scrolling, tapping are ignored.
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>
2009-07-17 10:42:31 +10:00
Tero Saarni
0c3fbceb1b Add configurable x/y resolution to fix sensitivity on wide touchpads.
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>
2009-07-16 14:54:15 +10:00
Peter Hutterer
6b3a032fdf Add "Synaptics Capabilities" read-only property.
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>
2009-05-28 08:56:50 +10:00
Erkin Bahceci
ee265e10c9 Add TapAndDragGesture option and gestures property.
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>
2009-05-13 09:03:46 +10:00
Peter Hutterer
609b6728ef Purge SynapticsHWInfo stuff, move it into proto_data.
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>
2009-05-08 14:17:36 +10:00
Peter Hutterer
c09a3d50e9 Remove Synaptics SHM configuration bits.
The only thing we still export through SHM is the hardware state.
2009-04-26 21:00:55 +10:00
Marcel Dejean
3ddc067c87 two-finger emulation through fingerWidth
Signed-off-by: Christoph Brill <egore911@egore911.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-20 11:32:46 +10:00
Peter Hutterer
f92446f00a properties: implement float properties.
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>
2009-01-27 08:27:33 +10:00
Peter Hutterer
1d89a1650a Install header files in xserver's sdk dir.
Missing from 851097c45f. Don't install header
files in <prefix>/include, install them in <prefix>/include/xorg instead.
2008-10-13 15:06:12 +10:30
Peter Hutterer
851097c45f Install synaptics-properties.h in xorg include path, install xorg-synaptics.pc. 2008-10-03 17:38:10 +09:30
Fedor P. Goncharov
6f1900bdf0 Add autodetection of right scroll wheel region with very large X coordinate 2008-09-03 19:06:32 +02:00
Peter Hutterer
59f5547d4f Add support for device properties.
Exposes the SHMConfig parameters through device properties and allows run-time
changes to those properties.

Not exposed yet are floating point values:
min_speed, max_speed, accl, trackstick_speed (SYNAPTICS_PROP_SPEED)
scroll_dist_circ (SYNAPTICS_PROP_CIRCULAR_SCROLLING_DIST)
coasting_speed (SYNAPTICS_PROP_COASTING_SPEED)
press_motion_min_factor, press_motion_max_factor (SYNAPTICS_PROP_PRESSURE_MOTION_FACTOR)
2008-08-18 14:22:10 +09:30
Christoph Brill
b95a568480 Fix "make distcheck"
The new directory "include" was not packaged into the tarball. This makes "make
distcheck" work again.
2008-08-14 23:40:10 +02:00
Peter Hutterer
22d1b8a4ff Move synaptics.h into include/, create synapticsstr.h for private structs.
This just separates driver-internal stuff (synapticsstr.h) from external
stuff used for the SHM config.
2008-08-08 15:34:33 +09:30