e1e02c9f76
This patch adds support for the Geyser 2 touchpads used on post Oct 2005 Apple PowerBooks to the appletouch driver. Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch> Acked-by: Rene Nussbaumer <linux-kernel@killerfox.forkbomb.ch> Acked-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Stelian Pop <stelian@popies.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
85 lines
3.1 KiB
Text
85 lines
3.1 KiB
Text
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
|