最近、新しい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
のレポートを修正する方法や、同様の結果が得られる別の回避策に関するものです。
何週間もの大きな不快感と私はついに次の愚かな単純な解決策にたどり着きました:
パッケージをアップグレードするだけ。
次の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検出は魅力のように機能しました。
次の内容のファイル/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
オプションで遊んで、最良の結果を得る-3
、4
などの値を試してください。
別の方法は、プロパティを一時的に設定することです。ターミナルで実行するだけです:
xinput set-prop 13 "Synaptics Palm Detection" 1
xinput set-prop 13 "Synaptics Palm Dimensions" 5, 5
Synaptics Palm Dimensions
に別の値を試してください。
さらに読む synaptics-Synapticsタッチパッド入力ドライバー 。
libinputは圧力ベースのPalm検出を行いますが、しきい値が必要です。彼のリンクを参照してください: https://wayland.freedesktop.org/libinput/doc/latest/touchpad-pressure-debugging.html
ツールの幅が設定されていないため(libinputはそれを確認しませんが)、ここでできるのはこれだけですが、quirkファイル(またはlibinput <=を使用している場合はhwdb)に圧力を設定すると、可能性が高くなります1.11)うまくいきます。
圧力のしきい値を特定したら、バグを報告してください。