Installation of the Synaptics Touchpad Driver for X.Org
=======================================================

Author: Stefan Gmeiner <riddlebox@freesurf.ch>

Requirements
------------

Libraries:
You need the modular X.Org header files. Also having randr and and input
protocols is necessary.

Kernel:
For use with kernel 2.6.x you need to enable synaptics touchpad support when
configuring the kernel (CONFIG_MOUSE_PS2). You also need support for the evdev
interface (CONFIG_INPUT_EVDEV). If you compile evdev as a module, make sure it
is loaded before starting the X server, as it will not be auto-loaded.

Installing
----------

1. Type "./configure && make" to compile the driver.

2. Type "make install" to install the driver.

3. Add the driver to the X.Org configuration file (usually called
   /etc/X11/xorg.conf):

Section "InputDevice"
  Identifier	"Synaptics Mouse"
  Driver	"synaptics"
  Option	"Device"		"/dev/psaux"
  Option	"Protocol"		"auto-dev"
# enable SHMConfig if you want to enable synclient
# NB: enabling SHMConfig is insecure, since any user can invoke it
#  Option	 "SHMConfig"		 "on"
  Option	"LeftEdge"		"1700"
  Option	"RightEdge"		"5300"
  Option	"TopEdge"		"1700"
  Option	"BottomEdge"		"4200"
  Option	"FingerLow"		"25"
  Option	"FingerHigh"		"30"
  Option	"MaxTapTime"		"180"
  Option	"MaxTapMove"		"220"
  Option	"VertScrollDelta" 	"100"
  Option	"CornerCoasting" 	"1"
  Option	"CoastingSpeed"		"3"
  Option	"MinSpeed"		"0.09"
  Option	"MaxSpeed"		"0.18"
  Option	"AccelFactor"		"0.0015"
EndSection

Change the Identifier to the same name as in the ServerLayout section.

5. Add the "CorePointer" option to the InputDevice line at the
   ServerLayout section:

      Section "ServerLayout"
      ...
              InputDevice "Synaptics Mouse"  "CorePointer"
      ...

   Note! You can not have more than one core pointer, so if you want
   to use an external mouse too, you have to set all mouse input
   devices except one to "AlwaysCore" instead of "CorePointer". For
   example:

      Section "ServerLayout"
      ...
              InputDevice    "Mouse0" "CorePointer"
              InputDevice    "Synaptics Mouse" "AlwaysCore"
      ...
      Section "InputDevice"
      ...
              Identifier  "Mouse0"
              Option      "Device" "/dev/input/mice"
      ...

   This also applies if you are using a 2.6 linux kernel and the
   touchpad contains a "pass through" device. Usually a pass through
   device is a touch stick located in the middle of the keyboard, but
   it can also be a separate set of buttons located next to the
   touchpad. If you want the pass through device to be enabled in X,
   the second InputDevice is needed. If there is a line in
   /proc/bus/input/devices that begins with "P: Phys=synaptics-pt" it
   means that the kernel has found a pass through device.

6. Start/Restart the X Server. If the touchpad doesn't work:
   a) Check the X.Org log file. This file is usually called
      /var/log/Xorg.0.log.
   b) Try to start the X server with 'startx -- -logverbose 8' for
      more output.

7. If you want to be able to change driver parameters without
   restarting the X server, enable the "SHMConfig" option in the X.Org
   configuration file. You can then use the "synclient" program to
   query and modify driver parameters on the fly.
   Note! This is not secure if you are in an untrusted multiuser
   environment. All local users can change the parameters at any
   time.

If you can't get the driver working, check the trouble-shooting.txt
file for common problems. If that doesn't help, mail the log files and
the configuration file to petero2@telia.com. If you use a 2.6.x linux
kernel, also mail the output from dmesg and the output from
"cat /proc/bus/input/devices".
