使っていると tachpad の感度が良すぎて急にマウスが反応したりして利用しづらいところがありました。(振り返ってみればこれは右ボタンを2つ指タッチでエミュレートしていた機能が感度良さ過ぎて反応していた模様です)MacOSはこの辺の調整がよく出来ていて不便なく使えるのですが Linuxの場合には調整しておかないと不便です(設定できることが良いことですが)
- 触れていないようで左手の親指の付け根が結構パットに触れていることがある。
- これにより操作中でもたまにパッとメニューが出てくる。
- キーの入力中にカーソルのフォーカスが突然外れる。
- マウスを利用しているときにはタッチパッドは使わない。
状況からすると
- 入力中の場合にタッチパッドを一時的に利用不可にする
- タッチパッドの範囲を意図的に狭める
- マウス接続中には基本的にはタッチパッドは不要
ということで対応ができそうだということがわかります。
タッチパッドの設定
今回の環境は Ubuntu18.04の場合です。それ以外のリビジョンの場合には適宜読み替えてください。この環境ではXorgの設定ファイルが存在していないため作成するところから始まります。
$ sudo mkdir -m 755 /etc/X11/xorg.conf.d
$ sudo cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/
$ sudo chmod 644 /etc/X11/xorg.conf.d/70-synaptics.conf
$ sudo vi /etc/X11/xorg.conf.d/70-synaptics.conf
設定をするまえに現在のタッチパッドの情報を取得しましょう。
❯❯❯ grep range /var/log/Xorg.0.log
[ 42.980] (--) synaptics: appletouch: x-axis range 0 - 1215 (res 0)
[ 42.980] (--) synaptics: appletouch: y-axis range 0 - 575 (res 0)
[ 42.980] (--) synaptics: appletouch: pressure range 0 - 300
[ 42.980] (--) synaptics: appletouch: invalid finger width range. defaulting to 0 - 15
私の場合には上記の範囲がタッチパッドの有効範囲です。なので周り一周分を取り除く場合には以下の設定になります
Option "AreaTopEdge" "200"
Option "AreaLeftEdge" "200"
Option "AreaRightEdge" "1000"
この設定を含めておくと変な動作はしなくなりました。また起動時にタッチパッドを入力中は無効にする設定を含めたスクリプトを起動しておくと便利です。これ以外にもUSBマウスが刺されているとタッチパッドを向こうにするなどのアイディアで便利に利用している人もググると見つけられたのでいい塩梅なところで設定していきたいと思います。
USBマウス接続時に無効化
こちらは usbデバイスが動作したときに動かすことができる udev のルールを利用して無効・有効を行います。
$ sudo vi /etc/udev/rules.d/01-touchpad.rules
内容としては以下の内容を記載します
SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ACTION=="add", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/hideaki/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=1"
SUBSYSTEM=="input", KERNEL=="mouse[0-9]", ACTION=="remove", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/hideaki/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=0
”
まとめ
この設定をするとだいぶ利用しやすくなりました。特にマウス接続時には自動で無効されますのでストレスがなくなりました。
参考
この辺の設定の解説はこちらに詳しく説明がされています。
- Synaptics タッチパッド
- MacBook Pro Retina モデルで Ubuntu(MATE)を楽しむ方法
- Ubuntu14.04 で外付けのマウスが検出された時はタッチパッドを無効にする方法
- 第12章 udevによる動的カーネルデバイス管理
久しぶりにArchLinuxの資料を見たのですがきちんとまとまっていてよかったです。今度はUbuntuじゃなくてArc入れてみようかなと思った次第