17.10にアップグレードしたため、タッチパッドのタップ感度が低すぎて、タップを頻繁に見逃します。 Lenovo Yoga 2にSynapticsタッチパッドが搭載されていることをシステムが把握していることは知っています。
$ Sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
...
/dev/input/event6: Synaptics TM2714-001
...
しかし、xinputはSynaptics固有のものではないと考えています。
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:13 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:13 id=7 [slave pointer (2)]
⎜ ↳ xwayland-touch:13 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:13 id=8 [slave keyboard (3)]
$ xinput list-props "xwayland-touch:13"
Device 'xwayland-touch:13':
Device Enabled (119): 1
Coordinate Transformation Matrix (121): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (244): 0
Device Accel Constant Deceleration (245): 1.000000
Device Accel Adaptive Deceleration (246): 1.000000
Device Accel Velocity Scaling (247): 10.000000
そしてsynclientは同意します:
$ synclient
Couldn't find synaptics properties. No synaptics driver loaded?
libinputは、それがシナプスであることを知っています。
$ Sudo libinput list-devices
...
Device: Synaptics TM2714-001
Kernel: /dev/input/event6
Group: 8
Seat: seat0, default
Size: 87x57mm
Capabilities: pointer
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger Edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Accel profiles: none
Rotation: n/a
...
ただし、古いX11指の圧力特性のようなものは見当たりません。 (libinput measure-touchpad-tap
、興味深いことに、圧力ではなく時間に関するデータを収集します。)
タップに対する感度を改善するにはどうすればよいですか?
Libinputが提供するlibinput measure touchpad-pressureツールを使用します。このツールは、タッチパッドデバイスを検索し、タッチが論理的にダウンしているかどうかを含む圧力統計を印刷します。
Sudo libinput measure touchpad-pressure
デフォルトでは、このツールは圧力範囲にudev hwdbエントリを使用します。デバイスの最適な値を絞り込むには、「-touch-thresholds」引数で「論理的にダウン」および「論理的にアップ」の圧力しきい値を指定します。
Sudo libinput measure touchpad-pressure --touch-thresholds=10:8 --Palm-threshold=20
タッチパッドを操作して、このツールの出力が期待どおりかどうかを確認してください。
しきい値が決定されると(例:10および8)、次のhwdbファイルで有効にできます。
cat /etc/udev/hwdb.d/99-touchpad-pressure.hwdb
libinput:name:*SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq6910p*
LIBINPUT_ATTR_PRESSURE_RANGE=10:8
最初の行は一致行であり、/ sys/class/dmi/id/modaliasの情報に基づいて、デバイス名(evemu-recordの出力を参照)およびローカルシステムに合わせて調整する必要があります。モダリアは、特定のシステムの情報、通常はシステムベンダー(svn)および製品名(pn)に短縮する必要があります。
配置したら、デバイスのイベントノード用に調整された以下のコマンドを実行する必要があります。
Sudo udevadm hwdb --update
Sudo udevadm test /sys/class/input/eventX
圧力範囲プロパティが正しく表示される場合は、Xを再起動するか、Waylandコンポジターとlibinputが正しい圧力しきい値を使用するようになります。ヘルパーツールを使用すると、再起動することなく、最初に正しい機能を確認できます。
圧力範囲が正しいと見なされたら、バグを報告して圧力範囲をリポジトリに取得します。
注:私が入力した1つのWordではなく、これはすべて引用です。
ソース: https://wayland.freedesktop.org/libinput/doc/latest/touchpad_pressure.html#touchpad_pressure_hwdb