マウスホイールのスクロールが遅すぎるため、各スクロールの「目盛り」の行数を増やしたい。これはxinput
でEvdev Scrolling Distance
を設定することで可能であると読みましたが、libinput
を使用しており、スクロール距離に関連するものは何も表示されません。
マウスでのxinput list-props
の出力:
Device Enabled (139): 1
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (275): -0.640000
libinput Accel Speed Default (276): 0.000000
libinput Accel Profiles Available (277): 1, 1
libinput Accel Profile Enabled (278): 1, 0
libinput Accel Profile Enabled Default (279): 1, 0
libinput Natural Scrolling Enabled (280): 0
libinput Natural Scrolling Enabled Default (281): 0
libinput Send Events Modes Available (259): 1, 0
libinput Send Events Mode Enabled (260): 0, 0
libinput Send Events Mode Enabled Default (261): 0, 0
libinput Left Handed Enabled (282): 0
libinput Left Handed Enabled Default (283): 0
libinput Scroll Methods Available (284): 0, 0, 1
libinput Scroll Method Enabled (285): 0, 0, 0
libinput Scroll Method Enabled Default (286): 0, 0, 0
libinput Button Scrolling Button (287): 2
libinput Button Scrolling Button Default (288): 274
libinput Middle Emulation Enabled (289): 0
libinput Middle Emulation Enabled Default (290): 0
Device Node (262): "/dev/input/event1"
Device Product ID (263): 1133, 50487
libinput Drag Lock Buttons (291): <no items>
libinput Horizonal Scroll Enabled (264): 1
スクロール速度を変更するにはどうすればよいですか?私はArch Linux、Xfce 4.12で実行しています。
Libinputデバイスのスクロール速度を変更するための現在のAPIはありませんが、 このブログ は、マウスホイールのクリックが、systemdのudev構成ファイルでマウスごとに変更できる移動角度にどのように対応するかを説明しています/usr/lib/udev/hwdb.d/70-mouse.hwdb
。このファイルの先頭にあるMOUSE_WHEEL_CLICK_ANGLE
に関するコメントを読んでください。
ローカルで変更するには、新しいファイルを作成します
/etc/udev/hwdb.d/71-mouse-local.hwdb
オーバーライドルールを追加します。たとえば、ImExPS/2マウスを使用している場合は、クリックごとにデフォルトの15度を2倍にして30度にすることができます。
# ImExPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:
MOUSE_DPI=400@250
MOUSE_WHEEL_CLICK_ANGLE=30
Udevデータベースをリロードします
Sudo udevadm hwdb --update
Sudo udevadm trigger /dev/input/event1
Libinput には、共通のパーティとして「すべてのホイールスクロールに対して、n行/度」という概念はありません。一部の Logitech には「古い」Evdevドライバに含まれている可能性のあるパラメータEvdev Scrolling Distance (278)
があるため、設定は現時点ではデバイス固有のようです。
これは、私の意見ではユーザーエクスペリエンスの regression と見なされます。最初は、構成可能なマウススクロールの感度を共通のツールキット(libinput)に含めることは拒否されましたが、現在は pull request 将来のバージョンになる予定です–おそらく、すべてのデスクトップ環境に関数呼び出しを実装する必要があります。
このような問題を修正する方法はたくさんありますが、Linuxディストリビューションによって異なります。
幸運であり、ドライバー固有のスクロール感度を備えている-スクロール変数を使用してすべての入力を検索して確認してください。
xinputリスト|カット-f2 |カット-f2 -d '=' |\ xargs -d $ '\ n' -I '{}' sh -c "xinput list-props '{}' | grep -iq scroll &&\ (echo Listing dev id ' {} '; xinput list-props' {} ') "そして
xinput --set-prop <ID><SUB-ID><values>
によって特定の変数を設定します。ここで<ID>
はデバイス名であり、<SUB-ID>
は設定名にすることができます。X11でudevadm/evdevインターフェースにロールバックしてから、X11変数 MOUSE_WHEEL_CLICK_ANGLE を試すことができます。
最後のアイテムの参照 から imwheel
を使用して、マウスのスクロールクリックを乗算値でエミュレートすることができます。
# Should use imwheel --kill --buttons "4 5" to restart imwheel,
# if the mouse has back/forward buttons, otherwhise imwheel --kill is enough.
# imwheel must be set to autostart in your DE tools.
#Edit ~/.imwheelrc to include, where '3' is a multiplier
".*"
None, Up, Button4, 3
None, Down, Button5, 3
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L, Up, Shift_L|Button4
Shift_L, Down, Shift_L|Button5
Chrome SmoothScroll や Firefox SmoothWheelref のように、マウスホイールの感度に関する特定のアプリケーション設定があります。