web-dev-qa-db-ja.com

タッチパッドのタップ感度を設定する方法は?

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、興味深いことに、圧力ではなく時間に関するデータを収集します。)

タップに対する感度を改善するにはどうすればよいですか?

14
Slothman

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

2
anonim