1b08c118cSDmitry Torokhov.. include:: <isonum.txt>
2b08c118cSDmitry Torokhov
3b08c118cSDmitry Torokhov----------------------------------
4b08c118cSDmitry TorokhovApple Touchpad Driver (appletouch)
5b08c118cSDmitry Torokhov----------------------------------
6b08c118cSDmitry Torokhov
7b08c118cSDmitry Torokhov:Copyright: |copy| 2005 Stelian Pop <stelian@popies.net>
8b08c118cSDmitry Torokhov
9b08c118cSDmitry Torokhovappletouch is a Linux kernel driver for the USB touchpad found on post
10b08c118cSDmitry TorokhovFebruary 2005 and October 2005 Apple Aluminium Powerbooks.
11b08c118cSDmitry Torokhov
12b08c118cSDmitry TorokhovThis driver is derived from Johannes Berg's appletrackpad driver [#f1]_,
13b08c118cSDmitry Torokhovbut it has been improved in some areas:
14b08c118cSDmitry Torokhov
15b08c118cSDmitry Torokhov	* appletouch is a full kernel driver, no userspace program is necessary
16b08c118cSDmitry Torokhov	* appletouch can be interfaced with the synaptics X11 driver, in order
17b08c118cSDmitry Torokhov	  to have touchpad acceleration, scrolling, etc.
18b08c118cSDmitry Torokhov
19b08c118cSDmitry TorokhovCredits go to Johannes Berg for reverse-engineering the touchpad protocol,
20b08c118cSDmitry TorokhovFrank Arnold for further improvements, and Alex Harper for some additional
21b08c118cSDmitry Torokhovinformation about the inner workings of the touchpad sensors. Michael
22b08c118cSDmitry TorokhovHanselmann added support for the October 2005 models.
23b08c118cSDmitry Torokhov
24b08c118cSDmitry TorokhovUsage
25b08c118cSDmitry Torokhov-----
26b08c118cSDmitry Torokhov
27b08c118cSDmitry TorokhovIn order to use the touchpad in the basic mode, compile the driver and load
28b08c118cSDmitry Torokhovthe module. A new input device will be detected and you will be able to read
29b08c118cSDmitry Torokhovthe mouse data from /dev/input/mice (using gpm, or X11).
30b08c118cSDmitry Torokhov
31b08c118cSDmitry TorokhovIn X11, you can configure the touchpad to use the synaptics X11 driver, which
32b08c118cSDmitry Torokhovwill give additional functionalities, like acceleration, scrolling, 2 finger
33b08c118cSDmitry Torokhovtap for middle button mouse emulation, 3 finger tap for right button mouse
34b08c118cSDmitry Torokhovemulation, etc. In order to do this, make sure you're using a recent version of
35b08c118cSDmitry Torokhovthe synaptics driver (tested with 0.14.2, available from [#f2]_), and configure
36b08c118cSDmitry Torokhova new input device in your X11 configuration file (take a look below for an
37b08c118cSDmitry Torokhovexample). For additional configuration, see the synaptics driver documentation::
38b08c118cSDmitry Torokhov
39b08c118cSDmitry Torokhov	Section "InputDevice"
40b08c118cSDmitry Torokhov		Identifier      "Synaptics Touchpad"
41b08c118cSDmitry Torokhov		Driver          "synaptics"
42b08c118cSDmitry Torokhov		Option          "SendCoreEvents"        "true"
43b08c118cSDmitry Torokhov		Option          "Device"                "/dev/input/mice"
44b08c118cSDmitry Torokhov		Option          "Protocol"              "auto-dev"
45b08c118cSDmitry Torokhov		Option		"LeftEdge"		"0"
46b08c118cSDmitry Torokhov		Option		"RightEdge"		"850"
47b08c118cSDmitry Torokhov		Option		"TopEdge"		"0"
48b08c118cSDmitry Torokhov		Option		"BottomEdge"		"645"
49b08c118cSDmitry Torokhov		Option		"MinSpeed"		"0.4"
50b08c118cSDmitry Torokhov		Option		"MaxSpeed"		"1"
51b08c118cSDmitry Torokhov		Option		"AccelFactor"		"0.02"
52b08c118cSDmitry Torokhov		Option		"FingerLow"		"0"
53b08c118cSDmitry Torokhov		Option		"FingerHigh"		"30"
54b08c118cSDmitry Torokhov		Option		"MaxTapMove"		"20"
55b08c118cSDmitry Torokhov		Option		"MaxTapTime"		"100"
56b08c118cSDmitry Torokhov		Option		"HorizScrollDelta"	"0"
57b08c118cSDmitry Torokhov		Option		"VertScrollDelta"	"30"
58b08c118cSDmitry Torokhov		Option		"SHMConfig"		"on"
59b08c118cSDmitry Torokhov	EndSection
60b08c118cSDmitry Torokhov
61b08c118cSDmitry Torokhov	Section "ServerLayout"
62b08c118cSDmitry Torokhov		...
63b08c118cSDmitry Torokhov		InputDevice	"Mouse"
64b08c118cSDmitry Torokhov		InputDevice	"Synaptics Touchpad"
65b08c118cSDmitry Torokhov	...
66b08c118cSDmitry Torokhov	EndSection
67b08c118cSDmitry Torokhov
68b08c118cSDmitry TorokhovFuzz problems
69b08c118cSDmitry Torokhov-------------
70b08c118cSDmitry Torokhov
71b08c118cSDmitry TorokhovThe touchpad sensors are very sensitive to heat, and will generate a lot of
72b08c118cSDmitry Torokhovnoise when the temperature changes. This is especially true when you power-on
73b08c118cSDmitry Torokhovthe laptop for the first time.
74b08c118cSDmitry Torokhov
75b08c118cSDmitry TorokhovThe appletouch driver tries to handle this noise and auto adapt itself, but it
76b08c118cSDmitry Torokhovis not perfect. If finger movements are not recognized anymore, try reloading
77b08c118cSDmitry Torokhovthe driver.
78b08c118cSDmitry Torokhov
79b08c118cSDmitry TorokhovYou can activate debugging using the 'debug' module parameter. A value of 0
80b08c118cSDmitry Torokhovdeactivates any debugging, 1 activates tracing of invalid samples, 2 activates
81b08c118cSDmitry Torokhovfull tracing (each sample is being traced)::
82b08c118cSDmitry Torokhov
83b08c118cSDmitry Torokhov	modprobe appletouch debug=1
84b08c118cSDmitry Torokhov
85b08c118cSDmitry Torokhovor::
86b08c118cSDmitry Torokhov
87b08c118cSDmitry Torokhov	echo "1" > /sys/module/appletouch/parameters/debug
88b08c118cSDmitry Torokhov
89b08c118cSDmitry Torokhov
90b08c118cSDmitry Torokhov.. Links:
91b08c118cSDmitry Torokhov
92b08c118cSDmitry Torokhov.. [#f1] http://johannes.sipsolutions.net/PowerBook/touchpad/
93b08c118cSDmitry Torokhov
94b08c118cSDmitry Torokhov.. [#f2] `<http://web.archive.org/web/*/http://web.telia.com/~u89404340/touchpad/index.html>`_
95