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

# きっかけ
Ubuntuバージョンアップの際にディスプレイマネージャーを変更したことで諸々の設定が消え去ってしまったので、タッチパッドの設定は以下のように変更しました。
![Screenshot from 2020-04-08 23-38-49.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384705/00248ba6-22dd-3485-da45-312d306dc6ed.jpeg)
そして、うきうきで新しいGUIを触っていたときに気が付きました。

# 環境
|||
|:-:|:-:|
|PC|m-Book J370SN-M2S5-KK|
|OS|Ubuntu 18.04.4 LTS|
|Kernel|4.15.0-96-generic|



# 修正方法１
私はこちらの方法で対処しました。
[Synaptic タッチパッド Wiki](https://wiki.archlinux.jp/index.php/Synaptics_%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%83%E3%83%89)に書いてあるとおりです。

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

```shell:Terminal
$ cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/
```
その後、コピーした方の`70-synaptics.conf`にスクロール方向に関する設定を追記します。

```config:/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を確認します。

```shell: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)`を確認します。

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

Device 'MSFT0001:01 04F3:308D Touchpad':
	.
	.
	Synaptics Scrolling Distance (283):	-64, 64
	.
	.
```
表示されている値は「垂直距離、水平距離」になっています。
ここが両方共にマイナス値になればナチュラルスクロールになります。

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

```shell:Terminal
$ xinput set-prop [your-id] 283 -64, -64
```
移動量に違和感があれば絶対値を調節するといいと思います（未確認）。

# 終わりに
![Screenshot from 2020-04-08 23-38-49 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/384705/9db8e2ac-0abc-37b8-f64a-affc40a68acb.png)
どうやらこのボタンからは垂直方向しか変更できないようです。
公式でなんとかしてくれないかな

# 参考サイト
[Synaptics タッチパッド Wiki](https://wiki.archlinux.jp/index.php/Synaptics_%E3%82%BF%E3%83%83%E3%83%81%E3%83%91%E3%83%83%E3%83%89)
[libinput Wiki](https://wiki.archlinux.jp/index.php/Libinput)
[Inverted Horizontal scrolling ubuntu 18.04 (askubuntu)](https://askubuntu.com/questions/1029128/inverted-horizontal-scrolling-ubuntu-18-04)