Synaptics
Download Source: | http://web.telia.com/~u89404340/touchpad/files/synaptics-0.14.6.tar.bz2 |
---|
Contents
Introduction to Synaptics
This is a driver for the Synaptics TouchPad for XOrg/XFree86 4.x. A Synaptics touchpad by default operates in compatibility mode by emulating a standard mouse. However, by using a dedicated driver, more advanced features of the touchpad become available.
Project Homepage: http://web.telia.com/~u89404340/touchpad/index.html
Dependencies
Required
Non-Multilib
Compile the package:
make PREFIX=/usr
Install the package
make PREFIX=/usr install
Multilib
32Bit
Compile the package:
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \ make PREFIX=/usr ARCH=i686 CC="gcc ${BUILD32}" LD="gcc ${BUILD32}"
Install the package:
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \ make PREFIX=/usr ARCH=i686 install
64Bit
Compile the package:
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ make PREFIX=/usr ARCH=x86_64 CC="gcc ${BUILD64}" LD="gcc ${BUILD64}"
Install the package:
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ make PREFIX=/usr ARCH=x86_64 install
Configuring
In addition to reading the information below it may not be a bad idea to read the synaptics(5) man page. Most of this information came from that man page.
You may want to create a udev rule so that your touch pad has a symlink always pointing to the correct device node:
cat > /etc/udev/rules.d/90-synaptics.rules << "EOF" # Begin /etc/udev/rules.d/90-synaptics.rules KERNEL=="mouse*", ATTRS{name}=="SynPS/2 Synaptics TouchPad", SYMLINK+="input/synaptics" # End /etc/udev/rules.d/90-synaptics.rules EOF
The following configuration serves as an example only.
Section "InputDevice" Identifier "Synaptics Mouse" Driver "synaptics" Option "SHMConfig" "on" Option "Device" "/dev/input/synaptics" Option "Protocol" "auto-dev" Option "LeftEdge" "1200" Option "RightEdge" "5600" Option "TopEdge" "1200" Option "BottomEdge" "4600" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "TapButton1" "0" Option "TapButton2" "0" Option "TapButton3" "0" Option "VertScrollDelta" "100" Option "HorizEdgeScroll" "0" Option "MinSpeed" "0.09" Option "MaxSpeed" "0.18" Option "AccelFactor" "0.0015" EndSection
And in the ServerLayout section:
InputDevice "Synaptics Mouse" "AlwaysCore"
The SHMConfig is very useful for creating your initial setup. This allows you to change these values through synclient without needing to restart the X server. It is recommended that you keep this option on, but be aware it allows all users to change the Synaptics device settings on the fly.
Using synclient
synclient is a very useful tool to make configuring the touch pad very easy. You can list the current setting with synclient -l, monitor changes to the touchpad's state with synclient -m [time], and change a value with synclient var1=value1.
Running synclient -m [time] will give you an output similar to the following:
time x y z f w l r u d m multi gl gm gr gdx gdy 0.110 3041 2923 24 1 4 0 0 0 0 0 00000000 0 0 0 0 0 0.124 3056 2917 34 1 4 0 0 0 0 0 00000000 0 0 0 0 0 0.134 3054 2922 34 1 4 0 0 0 0 0 00000000 0 0 0 0 0 0.149 3054 2926 34 1 4 0 0 0 0 0 00000000 0 0 0 0 0 0.171 3039 2992 12 1 4 0 0 0 0 0 00000000 0 0 0 0 0
What does all this mean:
- x & y are the position of the pressure on the pad.
- z is the amount of pressure on the pad.
- f is the number of fingers on the pad.
- w is a measurement of the finger width.
- l, r, u, d, m, & multi are all button states.
- gl, gm, & gr are designated for a guest device, (the knob in the middle of the keyboard).
- gdx & gdy relative position movements from the guest device.
Edge Settings
The easiest way to get the edge settings (LeftEdge, RightEdge, TopEdge, and BottomEdge) of your touchpad is to run synclient -m 100. Move your finger around the outside of the active area on the touch pad. The minimum and maximum x and y values you see on the screen will be the respective edges of your touch pad.
Pressure Settings
While you're looking at the output of the edge settings you can also get a good idea of what the pressure settings (FingerLow and FingerHigh) can be.
When the pressure on the touch pad (column z) is greater then FingerHigh, the driver will count this as a touch. When the pressure on the touch pad is less then FingerLow, the driver will count this is a release.
Tapping
There are a few ways to handle tapping.
One way to shut both tapping and scrolling off would be to set TouchpadOff=2.
The driver is very robust in the way that it supports one, two, and/or three finger taps. Which mouse button is pressed on these three different taps is controlled by the TapButton1, TapButton2, and TapButton3 settings. In the example all three of these are set to 0, which essentially turns tapping off. For example if you would like a single finger tap to represent a left mouse button click, set TapButton1=1.
Scrolling
Scrolling occurs when the pressure of the touch pad occurs outside of the Edges you specified above. There are two settings that can enable of disable scrolling on your touch pad. For example, if you wanted vertical scrolling but not horizontal scrolling you would set VertEdgeScroll=1 HorizEdgeScroll=0. If you want to turn scrolling on then you probably should also set VertScrollDelta and/or HorizScrollDelta. Each one of these is the distance your finger would have to move on the scrolling portion of the touch pad for a scroll to happen. Setting these to a infinitely small or large value is not a very good idea.
Contents
Installed Programs: | synclient syndaemon |
---|---|
Installed Libraries: | ${XORG_PREFIX}/lib/xorg/modules/input/synaptics_drv.so |
Installed Directories: | None |