2017年10月15日日曜日

Xfceでマウススクロールの方向を逆にする

今使っているノートPCのタッチパッドは2本指でスクロールする設定にしているのですが、デフォルトでは下にスライドさせると下にスクロールします。

会社で使っているPCは向きが逆で、時々混乱するのでいっそのこと逆方向で統一しようかといろいろいじってみました。


GUIからの設定

XfceにはGUIからスクロール方向の設定ができます。

「スクロール方向を反転する」にチェックを入れると、無事スクロール方向が反転します。めでたしめでたし。

余計混乱した!

…残念ながらこれで無事完了とはいきませんでした。

なんと、アプリケーションによって反転するものとしないものが出てきたのです。

具体的には、Firefoxでは反転したけどXfce Terminalではこれまでどおり。つまり余計に混乱しました

調べてみると、どうやら反転するのはGTK+2ベースのアプリケーションのみで、GTK+3ベースではこの設定は反映されない様子。

Xの設定をいじろう

GTKの設定ではなくもっと根本のXの設定を変えれば、ということで、xinputで設定を変えてみます。

$ xinput list
⎡ Virtual core pointer                     id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer               id=4 [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics 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)]
    ↳ Sleep Button                             id=8 [slave  keyboard (3)]
    ↳ HP HD Camera                             id=9 [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard             id=10 [slave  keyboard (3)]
タッチパッドのidは11なので、
$ xinput list-props 11
Device 'SynPS/2 Synaptics TouchPad':
...
 Synaptics Scrolling Distance (285): 121, 121
...
ここの値を反転させてやります。
$ xinput set-prop 11 "Synaptics Scrolling Distance" -121 -121
これで無事反転してくれました。

起動時に設定

このままでは毎回このコマンドを入れなければいけないので面倒。/etc/xprofileに最後のコマンドだけ入れておけば、X起動時にこの設定が反映されます。

スクリプトつくってみたよ

上記コマンドではデバイスIDやプロパティの値を決め打ちしているのであまり美しくない。というわけでなんとかしてみました。 デバイス名とプロパティ名を指定するだけでOKです。これを/etc/xprofileにコピペすれば起動時によしなにしてくれます。

参考

ArchWikiの充実度は異常。

0 件のコメント:

コメントを投稿