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