web-dev-qa-db-ja.com

libinput Palm検出が機能しない

最近、新しいDell XPS 15を購入し、Debianをインストールしました。以前はWindows 10を実行していましたが、Palmの検出/拒否は期待通りに完全に機能しました。しかし、現在、Debianを実行してlibinputを使用しているため、Palmの検出は(私の知る限り)存在しない/完全に壊れています。

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

A 入力イベントのサンプルSudo evemu-record /dev/input/event1 >> eventlog-finger.logで生成され、通常の使用中と同じようにタッチパッドで指を使用します。

A 入力イベントのサンプルSudo evemu-record /dev/input/event1 >> eventlog-Palm.logで生成され、入力しようとしているときのようにタッチパッドでPalmを使用します。

イベントログを見ると、ABS_TOOL_WIDTHが各ログの先頭に一度だけ表示されていることがわかります。私が見つけたもの here および here から、これはABS_TOOL_WIDTHが0以外として報告されることのない(ある程度)既知の問題です。これは明らかにシナプスドライバーを使用してPalmの検出を中断し、libinputでも想定しています。

外付けマウスを接続せずにタッチパッドを無効にせずに私のラップトップで何かをしようとすると、ほとんど不可能です。マウスがジャンプし、さらに厄介です。Palmがタッチパッドをクリックして、予測できない場所やどこにも入力できないことがあります。

これを修正する方法を開始する方法について誰かが何かを知っている場合は、大歓迎です。

編集1:

私は持っているがSynapticsのタッチパッドドライバーを使って、以下を含むことを既に試みたことを述べるべきです:

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

そして、次の設定をいじって無効にします:

synclient PalmMinWidth=4
synclient PalmMinZ=80

PalmMinWidthについては0から15まで、PalmMinZについては50から150まですべてを試しました。 何も動作しません。しかし、それがまだ明確でなかった場合-ABS_TOOL_WIDTHが報告されていないため、これはすでにわかっています。それだけは確信しているので、それが私の質問の根拠ではありません。私の質問は、ABS_TOOL_WIDTHのレポートを修正する方法や、同様の結果が得られる別の回避策に関するものです。

3
Trevor Sears

何週間もの大きな不快感と私はついに次の愚かな単純な解決策にたどり着きました:

パッケージをアップグレードするだけ

次の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の再起動も機能するはずです)。私のラップトップが再起動した後、Palm検出は魅力のように機能しました。

1
Trevor Sears

次の内容のファイル/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タッチパッド入力ドライバー

2
Bob

libinputは圧力ベースのPalm検出を行いますが、しきい値が必要です。彼のリンクを参照してください: https://wayland.freedesktop.org/libinput/doc/latest/touchpad-pressure-debugging.html

ツールの幅が設定されていないため(libinputはそれを確認しませんが)、ここでできるのはこれだけですが、quirkファイル(またはlibinput <=を使用している場合はhwdb)に圧力を設定すると、可能性が高くなります1.11)うまくいきます。

圧力のしきい値を特定したら、バグを報告してください。

0
whot