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