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 |