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