Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 1 | .. include:: <isonum.txt> |
| 2 | |
| 3 | ---------------------------------- |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 4 | Apple Touchpad Driver (appletouch) |
| 5 | ---------------------------------- |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 6 | |
| 7 | :Copyright: |copy| 2005 Stelian Pop <stelian@popies.net> |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 8 | |
| 9 | appletouch is a Linux kernel driver for the USB touchpad found on post |
Michael Hanselmann | e1e02c9 | 2005-12-21 00:50:23 -0500 | [diff] [blame] | 10 | February 2005 and October 2005 Apple Aluminium Powerbooks. |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 11 | |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 12 | This driver is derived from Johannes Berg's appletrackpad driver [#f1]_, |
| 13 | but it has been improved in some areas: |
| 14 | |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 15 | * appletouch is a full kernel driver, no userspace program is necessary |
| 16 | * appletouch can be interfaced with the synaptics X11 driver, in order |
| 17 | to have touchpad acceleration, scrolling, etc. |
| 18 | |
| 19 | Credits go to Johannes Berg for reverse-engineering the touchpad protocol, |
| 20 | Frank Arnold for further improvements, and Alex Harper for some additional |
Michael Hanselmann | e1e02c9 | 2005-12-21 00:50:23 -0500 | [diff] [blame] | 21 | information about the inner workings of the touchpad sensors. Michael |
| 22 | Hanselmann added support for the October 2005 models. |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 23 | |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 24 | Usage |
| 25 | ----- |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 26 | |
| 27 | In order to use the touchpad in the basic mode, compile the driver and load |
| 28 | the module. A new input device will be detected and you will be able to read |
| 29 | the mouse data from /dev/input/mice (using gpm, or X11). |
| 30 | |
| 31 | In X11, you can configure the touchpad to use the synaptics X11 driver, which |
| 32 | will give additional functionalities, like acceleration, scrolling, 2 finger |
| 33 | tap for middle button mouse emulation, 3 finger tap for right button mouse |
| 34 | emulation, etc. In order to do this, make sure you're using a recent version of |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 35 | the synaptics driver (tested with 0.14.2, available from [#f2]_), and configure |
| 36 | a new input device in your X11 configuration file (take a look below for an |
| 37 | example). For additional configuration, see the synaptics driver documentation:: |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 38 | |
| 39 | Section "InputDevice" |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 40 | Identifier "Synaptics Touchpad" |
| 41 | Driver "synaptics" |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 42 | Option "SendCoreEvents" "true" |
| 43 | Option "Device" "/dev/input/mice" |
| 44 | Option "Protocol" "auto-dev" |
| 45 | Option "LeftEdge" "0" |
| 46 | Option "RightEdge" "850" |
| 47 | Option "TopEdge" "0" |
| 48 | Option "BottomEdge" "645" |
| 49 | Option "MinSpeed" "0.4" |
| 50 | Option "MaxSpeed" "1" |
| 51 | Option "AccelFactor" "0.02" |
| 52 | Option "FingerLow" "0" |
| 53 | Option "FingerHigh" "30" |
| 54 | Option "MaxTapMove" "20" |
| 55 | Option "MaxTapTime" "100" |
| 56 | Option "HorizScrollDelta" "0" |
| 57 | Option "VertScrollDelta" "30" |
| 58 | Option "SHMConfig" "on" |
| 59 | EndSection |
| 60 | |
| 61 | Section "ServerLayout" |
| 62 | ... |
| 63 | InputDevice "Mouse" |
| 64 | InputDevice "Synaptics Touchpad" |
| 65 | ... |
| 66 | EndSection |
| 67 | |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 68 | Fuzz problems |
| 69 | ------------- |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 70 | |
| 71 | The touchpad sensors are very sensitive to heat, and will generate a lot of |
| 72 | noise when the temperature changes. This is especially true when you power-on |
| 73 | the laptop for the first time. |
| 74 | |
| 75 | The appletouch driver tries to handle this noise and auto adapt itself, but it |
| 76 | is not perfect. If finger movements are not recognized anymore, try reloading |
| 77 | the driver. |
| 78 | |
| 79 | You can activate debugging using the 'debug' module parameter. A value of 0 |
| 80 | deactivates any debugging, 1 activates tracing of invalid samples, 2 activates |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 81 | full tracing (each sample is being traced):: |
| 82 | |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 83 | modprobe appletouch debug=1 |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 84 | |
| 85 | or:: |
| 86 | |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 87 | echo "1" > /sys/module/appletouch/parameters/debug |
| 88 | |
Stelian Pop | f7214ff | 2005-09-08 10:19:48 +0200 | [diff] [blame] | 89 | |
Mauro Carvalho Chehab | ad6bdcc | 2017-04-04 17:32:22 -0700 | [diff] [blame] | 90 | .. Links: |
| 91 | |
| 92 | .. [#f1] http://johannes.sipsolutions.net/PowerBook/touchpad/ |
| 93 | |
| 94 | .. [#f2] `<http://web.archive.org/web/*/http://web.telia.com/~u89404340/touchpad/index.html>`_ |