EndeavourOSでスクロールを変更したい。今までMacOSのスクロールに慣れてきたので、webページを紙のように捉えるスクロールが恋しかった。メンタルモデルの一部になっていたので、それをEndeavour OSで設定しよう。linuxの世界に入り込むために。電子世界とつながるのだ。
簡易的なまとめ
1. deviceのidを確定
xinput list
タッチパッドのidが11だということを確認した。(タッチパッドのような記述を探した)
2. 11のdeviceに設定できる項目名をリストアップ
xinput list-props 11
3. 項目名を設定
xinput set-prop 11 "libinput Natural Scrolling Enabled" 1
4. i3の設定ファイルに永続化
exec --no-startup-id xinput set-prop 11 "libinput Natural Scrolling Enabled" 1
スクロールを変更するということは、トラックパッドの設定を変更するということのようだ。
つまり、これを実行するためにはdeviceを検索して、そのdeviceがどういう設定をするかを知る必要がある。そのために使えるコマンドがxinput
だ。xinputでdeviceを識別する。
まず、deviceのidを確定しよう。
xinput list
⎡ Virtual core pointer id=2[master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4[slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [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)]
↳ Lid Switch id=9[slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
この端末ではタッチパッドのidが11だった。
今度は11のdeviceに設定できる項目名が知りたい。
xinput list-props 11
Device 'ETPS/2 Elantech Touchpad':
...
libinput Natural Scrolling Enabled (312): 1
...
Natural Scrollingに関連する属性がちょうどあった。これをオンにすればよい!propを設定するには、xinputのset-propというコマンドを利用する。
xinput set-prop 11 "Natural Scrolling" 1
これでいいのかなって思ったけど、propの名前をフルで設定する必要があるらしい。libinputが入って、ようやくひとつのpropだそうだ。
xinput set-prop 11 "libinput Natural Scrolling Enabled" 1
よしよし、これで一時的に設定することはできた。永続化するためには、zshrcに設定すればいいかな。いや、違うな?起動時の設定をしないといけないんだ。i3-wmを使っているから、その設定ファイル~/.config/i3/configに入れてしまえばいいと思う。
exec --no-startup-id xinput set-prop 11 "libinput Natural Scrolling Enabled" 1
これで今までの電子の世界に戻ってこれた。ばんざい。