You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[PATCH] USB: add apple usb touchpad driver
This is a driver for the USB touchpad which can be found on post-February 2005
Apple 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[2], in order
to have touchpad acceleration, scrolling, two/three finger tap, etc.
This driver has been tested by the readers of the 'debian-powerpc' mailing
list for a few weeks now and I believe it is now ready for inclusion into the
mainline kernel.
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.
Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1bbb4f2035
commit
f7214ff4e8
@@ -0,0 +1,84 @@
|
||||
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 Apple Alu 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.
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user