最近、Logicool のトラックボール M570 を購入した。 このトラックボールはスクロールホイールがついているが、左右にスクロールする機能はない。
そこで、ボールを転がして上下左右にスクロールを可能にする。
今回は Ubuntu 20.04 をターゲットに設定を行う。 (macOS では、Karabiner Elements と Scroll Reverser というソフト (どちらも brew cask にあり) を使い実現した。詳細は省略)
デバイス名を調べる
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M570 id=9 [slave pointer (2)]
⎜ ↳ Lily58 Consumer Control id=11 [slave pointer (2)]
⎜ ↳ Lily58 Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Lily58 Keyboard id=10 [slave keyboard (3)]
↳ Lily58 Consumer Control id=12 [slave keyboard (3)]
↳ Lily58 System Control id=14 [slave keyboard (3)]
↳ WI-C300 (AVRCP) id=15 [slave keyboard (3)]
以上より、デバイス名はLogitech M570
、デバイスIDは9
。
のちの設定ファイルでデバイス名を利用する。
ボタン番号を調べる
以下のコマンドでIDが9
のデバイスの状態をみることができる。
今回はマウスのスクロールホイールを押し込むボタンの番号を知るために、スクロールホイールを押し込みながら以下のコマンドを実行する。
$ xinput query-state 9
実行結果より、 M570 のスクロールホイールを押し込むボタンの番号は3
であることがわかった。
設定を記入する
root権限で /usr/share/X11/xorg.conf.d/40-libinput.conf
に以下を追記する。
# /usr/share/X11/xorg.conf.d/40-libinput.conf
# Logitech M570 Scrolling with pressed the right button and rolled the ball
Section "InputClass"
Identifier "Logitech M570"
MatchProduct "Logitech M570"
Driver "libinput"
Option "ScrollMethod" "button"
Option "ScrollMethod" "3"
EndSection
再起動するとスクロールホイール押下時にボールによるスクロールが有効化される。