GPD Pocket のトラックポイントでスクロール

GPD Pocket に arch linux を突っ込んで遊んでます。いまいちばん困っているのがスクロールで、なんでもいいからトラックポイントを使ってウィンドウをスクロールしたいのですが……

arch wiki 様でも助けてくれないことはあります。arch wiki では以下だけで動くことになってますが……

Section "InputClass"
  Identifier      "GPD trackpoint"
  MatchProduct    "SINO WEALTH Gaming Keyboard"
  MatchIsPointer  "on"
  Driver          "libinput"
EndSection

例のカスタムカーネル使っていればこれだけで動くのかもしれませんが、うちの GPD Pocket (arch デフォルトカーネル)では残念ながらこの設定だけでは効きませんでした。

こちら にコマンドラインでリアルタイムに反映させる方法が記載されていました。ターミナルを上げて叩き込んでみます。

xinput --set-prop pointer:"SINO WEALTH Gaming Keyboard" "libinput Middle Emulation Enabled" 1  
xinput --set-prop pointer:"SINO WEALTH Gaming Keyboard" "libinput Button Scrolling Button" 3 
xinput --set-prop pointer:"SINO WEALTH Gaming Keyboard" "libinput Scroll Method Enabled" 0 0 1

おぉ。左右同時クリック + トラックポイントで縦横スクロールが有効になりますね。

仮設定はコマンドラインで投げているので、その X のセッションだけで有効です。恒久的に設定するには前節で xinput コマンドで食わせた設定を /etc/X11/xorg.conf.d/50-trackpoint.conf に落とし込む必要があります。このへんを参考にそれっぽく conf に変換して、最終的にうまくいった 50-trackpoint.conf が以下です。

Section "InputClass"
  Identifier "GPD trackpoint"
  MatchProduct "SINO WEALTH Gaming Keyboard"
  MatchIsPointer "on"
  Driver "libinput"
  Option "MiddleEmulation" "on"
  Option "ScrollButton" "3"
  Option "ScrollMethod" "button"
EndSection

上記の設定のままでも arch wiki の言っているとおりに 右クリック + トラックポイント だけでスクロールができますね……なので、左右クリック + トラックポイント が必要ない場合は上記の設定から Option "MiddleEmulation" "on" だけを外してしまえば良いですね。

https://manimani.cc/lib/plugins/linkback/exe/trackback.php/blog:2018:20180118143945_gpd_pocket_arch_scrolling