| Apple Touchpad Driver (appletouch) |
| ---------------------------------- |
| Copyright (C) 2005 Stelian Pop <stelian@popies.net> |
| |
| appletouch is a Linux kernel driver for the USB touchpad found on post |
| February 2005 and October 2005 Apple Aluminium Powerbooks. |
| |
| This driver is derived from Johannes Berg's appletrackpad driver[1], but it has |
| been improved in some areas: |
| * appletouch is a full kernel driver, no userspace program is necessary |
| * appletouch can be interfaced with the synaptics X11 driver, in order |
| to have touchpad acceleration, scrolling, etc. |
| |
| Credits go to Johannes Berg for reverse-engineering the touchpad protocol, |
| Frank Arnold for further improvements, and Alex Harper for some additional |
| information about the inner workings of the touchpad sensors. Michael |
| Hanselmann added support for the October 2005 models. |
| |
| Usage: |
| ------ |
| |
| In order to use the touchpad in the basic mode, compile the driver and load |
| the module. A new input device will be detected and you will be able to read |
| the mouse data from /dev/input/mice (using gpm, or X11). |
| |
| In X11, you can configure the touchpad to use the synaptics X11 driver, which |
| will give additional functionalities, like acceleration, scrolling, 2 finger |
| tap for middle button mouse emulation, 3 finger tap for right button mouse |
| emulation, etc. In order to do this, make sure you're using a recent version of |
| the synaptics driver (tested with 0.14.2, available from [2]), and configure a |
| new input device in your X11 configuration file (take a look below for an |
| example). For additional configuration, see the synaptics driver documentation. |
| |
| Section "InputDevice" |
| Identifier "Synaptics Touchpad" |
| Driver "synaptics" |
| Option "SendCoreEvents" "true" |
| Option "Device" "/dev/input/mice" |
| Option "Protocol" "auto-dev" |
| Option "LeftEdge" "0" |
| Option "RightEdge" "850" |
| Option "TopEdge" "0" |
| Option "BottomEdge" "645" |
| Option "MinSpeed" "0.4" |
| Option "MaxSpeed" "1" |
| Option "AccelFactor" "0.02" |
| Option "FingerLow" "0" |
| Option "FingerHigh" "30" |
| Option "MaxTapMove" "20" |
| Option "MaxTapTime" "100" |
| Option "HorizScrollDelta" "0" |
| Option "VertScrollDelta" "30" |
| Option "SHMConfig" "on" |
| EndSection |
| |
| Section "ServerLayout" |
| ... |
| InputDevice "Mouse" |
| InputDevice "Synaptics Touchpad" |
| ... |
| EndSection |
| |
| Fuzz problems: |
| -------------- |
| |
| The touchpad sensors are very sensitive to heat, and will generate a lot of |
| noise when the temperature changes. This is especially true when you power-on |
| the laptop for the first time. |
| |
| The appletouch driver tries to handle this noise and auto adapt itself, but it |
| is not perfect. If finger movements are not recognized anymore, try reloading |
| the driver. |
| |
| You can activate debugging using the 'debug' module parameter. A value of 0 |
| deactivates any debugging, 1 activates tracing of invalid samples, 2 activates |
| full tracing (each sample is being traced): |
| modprobe appletouch debug=1 |
| or |
| echo "1" > /sys/module/appletouch/parameters/debug |
| |
| Links: |
| ------ |
| |
| [1]: http://johannes.sipsolutions.net/PowerBook/touchpad/ |
| [2]: http://web.telia.com/~u89404340/touchpad/index.html |