Debian

libinput手掌檢測不起作用

  • June 24, 2019

我最近買了一台新的戴爾 XPS 15 並在上面安裝了 Debian。它之前執行的是 Windows 10,手掌檢測/拒絕功能完美,正如我所預料的那樣。但是現在,執行 Debian 並使用libinput手掌檢測(據我所知)不存在/完全損壞。

輸出xinput | grep -i touchpad

⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]

輸出xinput list-props 13

Device 'SynPS/2 Synaptics TouchPad':
   Device Enabled (116):   1
   Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
   libinput Tapping Enabled (269): 1
   libinput Tapping Enabled Default (270): 0
   libinput Tapping Drag Enabled (271):    1
   libinput Tapping Drag Enabled Default (272):    1
   libinput Tapping Drag Lock Enabled (273):   0
   libinput Tapping Drag Lock Enabled Default (274):   0
   libinput Tapping Button Mapping Enabled (275):  1, 0
   libinput Tapping Button Mapping Default (276):  1, 0
   libinput Accel Speed (251): 0.000000
   libinput Accel Speed Default (252): 0.000000
   libinput Natural Scrolling Enabled (256):   0
   libinput Natural Scrolling Enabled Default (257):   0
   libinput Send Events Modes Available (236): 1, 1
   libinput Send Events Mode Enabled (237):    0, 0
   libinput Send Events Mode Enabled Default (238):    0, 0
   libinput Left Handed Enabled (258): 0
   libinput Left Handed Enabled Default (259): 0
   libinput Scroll Methods Available (260):    1, 1, 0
   libinput Scroll Method Enabled (261):   1, 0, 0
   libinput Scroll Method Enabled Default (262):   1, 0, 0
   libinput Click Methods Available (277): 1, 1
   libinput Click Method Enabled (278):    1, 0
   libinput Click Method Enabled Default (279):    1, 0
   libinput Middle Emulation Enabled (265):    0
   libinput Middle Emulation Enabled Default (266):    0
   libinput Disable While Typing Enabled (280):    1
   libinput Disable While Typing Enabled Default (281):    1
   Device Node (239):  "/dev/input/event1"
   Device Product ID (240):    2, 7
   libinput Drag Lock Buttons (267):   <no items>
   libinput Horizontal Scroll Enabled (268):   1

我的/etc/X11/xorg.conf.d/40-libinput.conf文件:

Section "InputClass"
       Identifier      "libinput touchpad catchall"
       MatchIsTouchpad "on"
       MatchDevicePath "/dev/input/event*"
       Driver          "libinput"
       Option          "Tapping"                       "on"
       Option          "TappingDrag"                   "on"
EndSection

使用我的手指在觸摸板上生成的輸入事件範例,sudo evemu-record /dev/input/event1 >> eventlog-finger.log就像我在正常使用期間所做的那樣。

使用我的手掌在觸摸板上生成的輸入事件範例,sudo evemu-record /dev/input/event1 >> eventlog-palm.log就像我嘗試鍵入時發生的那樣。

如果您查看事件日誌,您會發現它ABS_TOOL_WIDTH僅在每個日誌的開頭出現一次。根據我在這里這裡的發現,這是一個(有些)已知的問題,ABS_TOOL_WIDTH除了 0 之外,它從未被報告為任何其他值。這顯然會破壞使用突觸驅動程序的手掌檢測,我也假設在 libinput 中。

試圖在我的筆記型電腦上做任何事情而不插入外接滑鼠並禁用觸摸板幾乎是不可能的,滑鼠跳躍和更麻煩的是,有時我的手掌可以點擊觸摸板,讓我在某個不可預測的地方或根本沒有地方打字。

如果有人完全了解如何開始解決此問題,將不勝感激。

編輯1:

我應該提到我已經嘗試過使用 Synaptics 觸摸板驅動程序,包括執行以下操作:

apt install -y xserver-xorg-input-synaptics
synclient PalmDetect=1

然後通過弄亂以下設置無濟於事:

synclient PalmMinWidth=4
synclient PalmMinZ=80

我已經嘗試了 0 到 15PalmMinWidth和 50 到 150 之間的所有內容PalmMinZ沒有任何效果。但如果還不清楚的話——我已經知道這是因為ABS_TOOL_WIDTH 沒有報導。我很確定,因此這不是我的問題的基礎 - 我的問題與我將如何著手修復報告ABS_TOOL_WIDTH或其他會產生類似結果的解決方法有關。

幾個星期的主要煩惱,我終於找到了一個愚蠢簡單的解決方案:

只需升級軟體包

我下載了以下4個包:

  • libinput10_1.11.3-1_amd64.deb
  • libinput-bin_1.11.3-1_amd64.deb
  • libwacom2_0.30-1_amd64.deb
  • libwacom-common_0.30-1_all.deb

dpkg並按如下方式安裝它們:

trevor@xps:~$ cd ~/downloads/
trevor@xps:~$ sudo dpkg -i libwacom-common_0.30-1_all.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libwacom2_0.30-1_amd64.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libinput-bin_1.11.3-1_amd64.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libinput10_1.11.3-1_amd64.deb
...dpkg runs...

並重新啟動了我的系統(重新啟動 X 也應該可以工作)。在我的筆記型電腦重新啟動後,手掌檢測就像一個魅力。

使用以下內容創建文件/etc/X11/xorg.conf.d/50-synaptics.conf

Section "InputClass"
       Identifier      "touchpad catchall"
       MatchIsTouchpad "on"
       MatchDevicePath "/dev/input/event*"
       Driver          "synaptics"
       Option          "PalmDetect"          "1"
       Option          "PalmMinWidth"        "5"
       Option          "PalmMinZ"            "100"
EndSection

之後重新啟動您的筆記型電腦以應用新配置。玩PalmMinWidth選項以獲得最佳結果 - 嘗試值34

另一種方法是臨時設置屬性,只需在終端執行:

xinput set-prop 13 "Synaptics Palm Detection" 1
xinput set-prop 13 "Synaptics Palm Dimensions" 5, 5

嘗試不同的值Synaptics Palm Dimensions

另外閱讀synaptics - Synaptics 觸摸板輸入驅動程序

引用自:https://unix.stackexchange.com/questions/463447