3. Apple Touchpad 驱动 (appletouch)

版权所有:

© 2005 Stelian Pop <stelian@popies.net>

appletouch 是一个 Linux 内核驱动程序,用于 2005 年 2 月之后和 2005 年 10 月的 Apple 铝制 Powerbook 上的 USB 触摸板。

这个驱动程序源自 Johannes Berg 的 appletrackpad 驱动程序 [1],但在某些方面得到了改进

  • appletouch 是一个完整的内核驱动程序,不需要用户空间程序

  • appletouch 可以与 synaptics X11 驱动程序接口,以便进行触摸板加速、滚动等。

感谢 Johannes Berg 对触摸板协议进行逆向工程,感谢 Frank Arnold 的进一步改进,以及 Alex Harper 提供有关触摸板传感器内部工作原理的一些其他信息。 Michael Hanselmann 增加了对 2005 年 10 月型号的支持。

3.1. 用法

为了在基本模式下使用触摸板,编译驱动程序并加载模块。 将检测到新的输入设备,您将能够从 /dev/input/mice 读取鼠标数据(使用 gpm 或 X11)。

在 X11 中,您可以配置触摸板以使用 synaptics X11 驱动程序,这将提供额外的功能,例如加速、滚动、双指轻敲以模拟鼠标中键、三指轻敲以模拟鼠标右键等。 为了做到这一点,请确保您使用的是最新版本的 synaptics 驱动程序(已使用 0.14.2 测试,可从 [2] 获得),并在您的 X11 配置文件中配置一个新的输入设备(请参阅下面的示例)。 有关其他配置,请参阅 synaptics 驱动程序文档

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

3.2. 模糊问题

触摸板传感器对热非常敏感,并且在温度变化时会产生大量噪声。 当您第一次打开笔记本电脑的电源时尤其如此。

appletouch 驱动程序尝试处理这种噪声并自动适应,但它并不完美。 如果不再识别手指移动,请尝试重新加载驱动程序。

您可以使用“debug”模块参数激活调试。 值 0 停用任何调试,1 激活无效样本的跟踪,2 激活完整跟踪(每个样本都被跟踪)

modprobe appletouch debug=1

echo "1" > /sys/module/appletouch/parameters/debug