Ubuntu18.04で水平ナチュラルスクロールができなくなったあなたへ


きっかけ

Ubuntuバージョンアップの際にディスプレイマネージャーを変更したことで諸々の設定が消え去ってしまったので、タッチパッドの設定は以下のように変更しました。

そして、うきうきで新しいGUIを触っていたときに気が付きました。

環境

PC m-Book J370SN-M2S5-KK
OS Ubuntu 18.04.4 LTS
Kernel 4.15.0-96-generic

修正方法1

私はこちらの方法で対処しました。
Synaptic タッチパッド Wikiに書いてあるとおりです。

タッチパッドの設定ファイルを/etc/X11/xorg.conf.d/にコピーしてSynapticsのドライバーオプションが使えるようにします。

Terminal
$ cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/

その後、コピーした方の70-synaptics.confにスクロール方向に関する設定を追記します。

/etc/X11/xorg.conf.d/70-synaptics.conf
.
.
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        Option "VertScrollDelta"  "-64"  # 追記
        Option "HorizScrollDelta" "-64"  #  した所
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
      MatchDevicePath "/dev/input/event*"
EndSection
.
.

保存後、再起動するとナチュラルスクロールが適用されます。

修正方法2

一時的な対処法ですが、工夫すれば自動起動させて永続的に対処することもできそうです。

タッチパッドのデバイスIDを確認します。

Terminal
hoge@hoge:~$ xinput list

⎡ Virtual core pointer                            id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4  [slave  pointer  (2)]
⎜   ↳ MSFT0001:01 04F3:308D 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)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ BisonCam, NB Pro: BisonCam, NB              id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=12   [slave  keyboard (3)]

私の環境では11でした。

次に、プロパティのSynaptics Scrolling Distance (283)を確認します。

Terminal
hoge@hoge:~$ xinput list-props [your-id]

Device 'MSFT0001:01 04F3:308D Touchpad':
    .
    .
    Synaptics Scrolling Distance (283): -64, 64
    .
    .

表示されている値は「垂直距離、水平距離」になっています。
ここが両方共にマイナス値になればナチュラルスクロールになります。

設定するコマンドは以下のとおりです。

Terminal
$ xinput set-prop [your-id] 283 -64, -64

移動量に違和感があれば絶対値を調節するといいと思います(未確認)。

終わりに


どうやらこのボタンからは垂直方向しか変更できないようです。
公式でなんとかしてくれないかな

参考サイト

Synaptics タッチパッド Wiki
libinput Wiki
Inverted Horizontal scrolling ubuntu 18.04 (askubuntu)