diff options
| author | Stelian Pop <stelian@popies.net> | 2005-09-08 04:19:48 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-09-12 15:23:39 -0400 |
| commit | f7214ff4e8248513ec626212b2c1a3ca0b2a0888 (patch) | |
| tree | ac9cc182c236857a4c7d2ef4c84b884f84d4f84f /Documentation/input | |
| parent | 1bbb4f2035d94d86e52e9b5341c142dcb39bb879 (diff) | |
[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>
Diffstat (limited to 'Documentation/input')
| -rw-r--r-- | Documentation/input/appletouch.txt | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Documentation/input/appletouch.txt b/Documentation/input/appletouch.txt new file mode 100644 index 000000000000..b48d11d0326d --- /dev/null +++ b/Documentation/input/appletouch.txt | |||
| @@ -0,0 +1,84 @@ | |||
| 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 | ||
