
数ヶ月前、デスクトップにLogitech T650タッチパッドを追加しました。ファームウェアをアップデートした後(Windows経由で行う必要がありました。Logitechさん、本当に残念です)、Ubuntu 14.10でタッチパッドが完璧に動作するようになりました。シングルタップ、ダブルタップ、スクロール、そしていくつかのジェスチャー操作が使えるようになり、日々の作業が少し楽になりました。まあ、とにかく楽になりました。
しかし、Ubuntu 15.04にアップグレードしてみると、突然タッチパッドの使い勝手が悪くなってしまいました。一体何が起こったのでしょうか? 不思議なことに、最新のカーネルにはタッチデバイスのサポートが組み込まれていたのです。これで、ユーザーはタッチパッドの操作に苦労する必要がなくなりました。しかし、それには代償もありました。箱から出した状態では、タッチパッドは効率が全く良くありません。動作が遅く、タップも思った通りに動作せず、スクロールも思った通りに動作しないことがあります。
ありがたいことに、これを調整する方法があります。実際、タッチパッドを自分の好みにぴったり合うように調整できるので、完璧な設定になるまで何日もかけて調整することになるかもしれません。この調整は、synclientというコマンドラインツールを使って行います。このツールにはgpointing-device-settingsというGUIがありますが、コマンドラインツールほど多くのオプションは用意されていません。コマンドラインツールを使う際の唯一の注意点は、オプションが多すぎることです。例えば、以下のようになります。
- 左端=113
- 右端=2719
- 上端=127
- 下端=2237
- 指低=2
- 指の高さ=3
- 最大タップ時間=180
- 最大タップ移動=162
- 最大ダブルタップ時間=180
- シングルタップタイムアウト=180
- クリック時間=100
- エミュレート中間ボタン時間=0
- エミュレート2本指最小Z=56
- エミュレート2本指最小W=7
ご心配なく…これらのオプションの多くは実際には使用しないでしょう。実際、普段使いであれば、特に気にする必要はないでしょう。
そういえば、どうやってそれらを扱うんですか?簡単です。synclientコマンドを使うんです。このコマンドを使えば、各オプションの感度をリアルタイムで調整したり、オプションの有効/無効を切り替えたりできます。例えば、タッチパッドのカーソルが遅すぎるとします。コマンドラインから、最小速度と最大速度(どちらも重要です)を調整できます。次のように入力します。
synclient 最小速度=1
synclient 最大速度=4
これらの設定はすぐに有効になります。
重点的に確認したい主な設定は次のとおりです。
- 指高 - タップを登録するために必要な最大圧力
- 指低 - タップを登録するために必要な最小の圧力
- MaxSpeed – カーソルの最大速度
- MinSpeed – カーソルの最小速度
- AccelFactor – MinSpeed から MaxSpeed に到達するための加速係数
- CoastingSpeed – ポインタが停止するまでの速度
他にもたくさんのオプションがあります。synclient で利用可能なすべてのカスタマイズの詳細については、このページをご覧ください。
スクリプトの作成
Linuxのほとんどの機能と同様に、標準以外の動作を実現したい場合、成功への道は数多くあります。その一つがスクリプトを使うことです。私はスクリプトを使って、微調整したタッチ設定が再起動時やログイン時に常に有効になるようにしました。
これを実行する前に、synclientの設定をいろいろと調整して、希望通りの設定にする必要があります。設定が完了したら、次のコマンドを実行します。
synclient -l > タッチ設定
これにより、現在のsynclient設定がすべて含まれた新しいファイル(touchsettings)が作成されます。このファイルの唯一の問題は、各設定が以下の形式になることです。
最小速度 = 1
新しく作成されたファイルのすべての行を次のように変更する必要があります。
synclient 最小速度=1
ファイルの先頭に、次の行も追加する必要があります。
#!/bin/bash
完全な例については図 Aを参照してください。
図A

touchsettings ファイルの例。
ファイルを保存し (t touchsettingsと呼びます)、次のコマンドで実行権限を付与します。
chmod u+x タッチ設定
このコマンドを実行するだけで、synclient のすべての設定を行うことができます。あとは、スタートアップアプリケーションツールを開き、ログイン時に実行される touchsettings スクリプトを追加するだけです(どのスタートアップアプリケーションツールを使用するかはディストリビューションによって異なります)。コマンドをグローバルに実行できるように、touchsettings ファイルを /usr/local/bin に移動することもできます。この場合、コマンドの所有権を以下のように変更する必要があります。
chown jlwallen.jlwallen /usr/local/bin/touchsettings
これで、 which touchsettingsコマンドを実行して、/usr/local/bin にリストされているスクリプトを確認できます。
タッチパッドを完璧に調整するには、ある程度の時間がかかります。週末に少し調整を重ねた結果、タッチパッドを思い通りに動作させることができました。gpointing-devices-settings のGUIが、synclientコマンドツールと同じくらい多くの設定を提供してくれると嬉しいですね。最新のカーネルではこうしたデバイスのサポートが強化されているので、すぐにしっかりしたGUIツールが登場するでしょう。
GUIツール、コマンドラインツール、あるいはその両方を使ってデスクトップを完璧にカスタマイズしたいですか?下のディスカッションスレッドであなたの好みを共有してください。