summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-07-21Default to 2-finger emulation when HW supports itChris Bagwell
Ideally, emulating 2-fingers should just work on hardware were it can be supported. This patch is to do that. Currently, emulateTwoFingerMinW defaults to 7. Most kernel drivers do not support reporting finger width and so can't get above MinW of 7. Synaptics devices hardcode width value to 5 when hardware doesn't support width and 7 is a good threshold to detect 2 fingers on hardware that does. bcm7954 are only other devices that report width and they support reporting DOUBLETAP and wouldn't need emulation anyways. emulateTwoFingerMinZ defaulted to a really high value so never let Synaptics devices to emulate 2-fingers by default. Changed default to a low value (same as FingerHigh) when hardware doesn't support DOUBLETAP and supports width so emulations will now work by default in all the right cases. I'm working to get kernel to stop reporting ABS_TOOL_WIDTH unless hardware really supports it. If that would have been behavior in first place then we could also default to 2-finger scrolling as well. Since its not reliable, we should continue defaulting to side scrolling. Config GUI's will want to now allow switching between 2-finger and edge scrolling when new property indicates width is supported. GUI's should also update the above MinZ and MinW's to values similar to our defaults. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-07-21Document Capabilities property additions in manChris Bagwell
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>
2010-07-21Expose width support in capabilites properity.Chris Bagwell
Some properties are only valid with hardware supports width. Namely, *MinW properties. Config GUI's may wish to disable/grey out options related to width support. This combined with pressure property is good indication when 2 finger scrolling can be supported using emulation. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-07-21Expose pressure support in capabilities property.Chris Bagwell
Some properties are only valid when hardware supports pressure. For example, the *MinZ and *MaxZ options. Config GUI's may wish to disable/grey out config options related to pressure since not all hardware supports it. This will allow for that. Also, change setting of priv->has_pressure to boolean value so its value will always fit in 8-bit that properities report. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-07-19Make default checks for x, y, w, and p separate.Chris Bagwell
Some input devices will not return any ranges and current code seems geared towards those. It assumed if invalid X/Y ranges then that was only case for invalid W and Pressure. Synaptics kernel drivers have been returning valid X/Y/Z values but invalid 0/0 values for P. Split up checks to allow setting defaults for any combination of unspecified or invalid values. I also think there was a bug in older code. It seemed odd it was checking minx > maxx but miny < maxy. I changed both to ">=" so that it also catches kernel reports of 0/0 and logically invalid ranges (i.e. 6/6 or 9/1). Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-23Remove one leftover xcalloc.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-17Bump to 1.2.99.1.xf86-input-synaptics-1.2.99.1Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-17Purge GuestMouse support.Peter Hutterer
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-17Merge branch 'master' of ↵Peter Hutterer
git+ssh://git.freedesktop.org/git/xorg/driver/xf86-input-synaptics
2010-06-17synclient: allow Min|MaxSpeed values of > 1.0.Peter Hutterer
With the new accel mechanisms, the old ranges don't apply anymore. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-17Require server 1.6 or later.Peter Hutterer
Remove ifdef's for server ABIs up to including server 1.5. Driver still supports 1.6, 1.7, 1.8 and the upcoming 1.9. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-17Re-use width/height variables.Peter Hutterer
No functional changes. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-17Reshuffle default value initialization.Peter Hutterer
No functional changes, just code structure. The eventcomm backened is the only one with a real probe function right now. So provide a default query proc that reads the touchpad coordinates in. The values provided are the ones that then will give us the right edge settings in concordance with the default we had before. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-16config: add comment regarding MAN_SUBSTS variable usageGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-06-16Move some defines to where they belong.Peter Hutterer
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-16Support percent values for area.Peter Hutterer
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>
2010-06-16man: don't call it "synaptics" touchpad driver.Peter Hutterer
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>
2010-06-16man: note where the Area options fit in.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
2010-06-16man: move area description down to CONFIGURATION DETAILS section.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
2010-06-16man: divide up man page with a few subheaders.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
2010-06-16man: update SHMConfig documentation, it's only useful for debugging now.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
2010-06-16Don't allow anything but relative mode.Peter Hutterer
We did this before already anyway, make it official and return an error to the client as appropriate. Touchpads in absolute mode are somewhat useless. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
2010-06-07Mulitply dix acceleration into synaptics maximum.Simon Thum
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-07Accel: retain para->accel scale.Simon Thum
In case people have modified their synaptic accel settings, it's preferable to retain the settings scale. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-07Setup pointer acceleration for synapticsSimon Thum
Setup dix pointer accel from the synaptics driver so synaptics devices behave like before while benefiting from dix velocity approximation. This fixes the longstanding issue with synaptics being accelerated twice, in different layers and different algorithms. The pressure-dependent synaptics acceleration is now performed in the device-specific profile. Signed-off-by: Simon Thum <simon.thum@gmx.de> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-06-07Revert "Setup pointer acceleration for synaptics"Peter Hutterer
Merged the wrong patch, right patch is the follow-up commit. This reverts commit a489ec15eb489a3528f6fee99716f7f4ae35f9ee.
2010-06-02Merge branch 'master' of ↵Peter Hutterer
git://people.freedesktop.org/~gnadon/xf86-input-synaptics
2010-06-01config: fdi file must be installed in $(datadir)/hal/fdi/policy/20thirdpartyGaetan Nadon
Applies to server with no sysconfigdir Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-06-01Setup pointer acceleration for synapticsSimon Thum
Setup dix pointer accel from the synaptics driver so synaptics devices behave like before while benefiting from dix velocity approximation. This fixes the longstanding issue with synaptics being accelerated twice with different algorithms. The pressure-dependent synaptics acceleration is now performed in a device-specific profile. Signed-off-by: Simon Thum <simon.thum@gmx.de> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-05-31config: synaptics depends on RANDR through xf86.hGaetan Nadon
The xf86.h file contains external declarations specific to RANDR If this extension is defined (installed) synaptics will not compile if randrproto is not installed. Because this is an optional extension, XORG_DRIVER_CHECK_EXT must be used. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: add AC_CHECK_LIB for math library functionsGaetan Nadon
It ensures library is installed and sets LIBS = -lm Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31README: add standard reference links sectionGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31COPYING: add three missing authors listed in synaptics.cGaetan Nadon
Copyright (c) 2008 Fedor P. Goncharov Copyright (c) 2002 S. Lehner Copyright (c) 2008-2009 Red Hat, Inc. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31Remove unused TODO fileGaetan Nadon
It has been updated just once in 4 years (300 commits) Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: use AC_PROG_INSTALL now supplied by XORG_DEFAULT_OPTIONSGaetan Nadon
It depends on util-macros 1.8 The existing statement can now be removed from the configuration file. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: upgrade to util-macros 1.8 for additional man page supportGaetan Nadon
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>
2010-05-31config: replace Automake deprecated INCLUDES var with AM_CPPFLAGSGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: unconditionaly build synclient and syndaemon appsGaetan Nadon
The current conditional building of the apps was introduced by commit 080caee95c46bb471d1442dcab246460cad8c7be due to optional support properties. This is no longer an issue. There are no longer any reason not to build these bona fide apps. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31man: Use Autoconf provided $(AM_V_GEN)$(SED)Gaetan Nadon
Enables silent rule and use platform appropriate version of sed. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: 50-synaptics.conf must be unconditionally distributedGaetan Nadon
A file may or may not be installed based on a particular system configuration, but it must always be distributed in the tarball so the package contains the complete source code. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: use automake "dir" pattern for simplificationGaetan Nadon
configdir is where the config file is installed config_DATA is the filename Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: close a loophole where user input means x server has a featureGaetan Nadon
If a user provides a path in --with-xorg-conf-dir, the configuartion assumes the server does have a config path which may not be the case. Resolve this by testing the value of the server returned sysconfigdir rather than the user provided value. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: fix warnings, m4 quoting and layoutGaetan Nadon
Fix some m4 quoting Fix some autoconf warnings Regroup statements per section Add comments Regroup xtst and recordproto (a prereq) flags together Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: Upgrade X.Org macros to 1.4 for INSTALL file copyingGaetan Nadon
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: remove AC_PROG_CC as it overrides AC_PROG_C_C99Gaetan Nadon
XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls AC_PROG_C_C99. This sets gcc with -std=gnu99. If AC_PROG_CC macro is called afterwards, it resets CC to gcc. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: remove unrequired AC_HEADER_STDCGaetan Nadon
Autoconf says: "This macro is obsolescent, as current systems have conforming header files. New programs need not use this macro". Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERSGaetan Nadon
Regroup AC statements at the top. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: update AC_PREREQ statement to 2.60Gaetan Nadon
Unrelated to the previous patches, the new value simply reflects the reality that the minimum level for autoconf to configure all x.org modules is 2.60 dated June 2006. ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: regroup macros and variables in the backend checkingGaetan Nadon
It saves a few lines. No functional changes. The same cannot be done for AM_CONDITIONAL: "If AM_CONDITIONAL is run conditionally (e.g., in a shell if statement), then the result will confuse automake". Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2010-05-31config: rework the synclient and syndaemon dependenciesGaetan Nadon
The driver does not require inputproto package The hunting for record.h is done only if libXtst is installed AC_CHECK_HEADERS is used rather than checking for package versions HAVE_PROPERTIES is no longer required Normal config output: checking for XI... yes checking for XTST... yes checking for X11/extensions/record.h... yes Permutations of --enable-tools and dependencies: build_tools libXi installed Result ----------- --------------- --------- yes yes build tools auto yes build tools no yes skip build yes no abort configuration auto no warn and skip build no no warn and skip build Permutations of libXtst, record.h and recordproto libXtst record.h recordproto syndaemon installed installed installed using XRecord? yes yes yes yes yes no yes no no no yes no no yes yes no no no no no Other scenarios are possible where you have 2 different versions of record.h installed in different $prefix locations. The order of *_CFLAGS will determine which one gets picked first. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>