86 lines
3.2 KiB
Plaintext
86 lines
3.2 KiB
Plaintext
|
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.archive.org/web/*/http://web.telia.com/~u89404340/touchpad/index.html
|