一般的なデスクトップユースでは、マウスやトラックポイント(ポインティング・スティック)・タッチパッドといった、ポインティングデバイスは欠かせません。今回はこうしたポインティングデバイスのうち、ノートPCで利用される、ポインティング・スティック(ポインティング・スティック)とタッチパッドのカスタマイズについて説明します。
トラックポイント(ポインティング・スティック)
トラックポイント(一般名称は「ポインティング・スティック」ですが、本稿ではこれを「トラックポイント」と呼ぶことにします)は、キーボードの[H]・[J]キーの間に小型のジョイスティックを配置し、これを操作することでポインタを操作する形式のデバイスです。
現在のノートPCではそれほど採用数が多くなく、Lenovo(旧IBM)のThinkpadシリーズや、DellのLatitudeシリーズのモバイル向けモデル、HPのMobile Workstationシリーズや、Unicomp社のキーボードなどに搭載されています。『Thinkpadに搭載されている赤いぽっち』と言えば大抵の人がわかると思われます。
ホイールエミュレーション(縦)
Ubuntuでもトラックポイントは標準インストールで利用できますが、デフォルト状態では「マウスホイールに相当するスクロール機能」がありません。このため、ブラウザなどで縦に長いページをスクロールするには、キーボードを操作するか、あるいはスクロールバーをクリックして操作する必要があります。
Thinkpadなどのように3ボタン構成のトラックポイントでは、多くのメーカーの工場出荷時設定では(つまり、Windowsでは)「中ボタンを押しながらトラックポイントを操作する」ことで、マウスホイール操作に代替するように設定されています。
同じことがUbuntuでも可能です。/etc/X11/xorg.confの「Section "InputDevice"」に、以下の設定項目を追加します。
追加後、[Ctrl]+[Alt]+[Backspace]でXを再起動してください。この設定を行うことで、中ボタンを押しながらトラックポイントを操作すると、ホイールマウスと同様の縦スクロールを利用することができるようになります。
なお、[Fn]もしくは[Ctrl]を押しながらトラックポイントを操作することで、ハードウェアレベルで実現されたホイールエミュレーションが利用できる可能性もあります。設定を行う前に試してみてください。
ホイールエミュレーション(横)
また、さらに以下の設定を追加することで、トラックポイントを用いた横スクロールを行うことができます。
ただしFirefoxなどのGecko系ブラウザでは、横マウスホイールは「進む」・「戻る」に割り付けられています。このため、この設定を行うと誤操作が誘発される恐れがあります。Firefoxの場合は以下の設定を行い、この設定を無効にしてください(Firefox3では不要です)。
タッチパッドのカスタマイズ
多くのノートPCに搭載されているタッチパッドにも、幾つか設定を行う余地があります。
gynapticsの導入
タッチパッドの設定を行う場合、Synaptics(Synapticパッケージマネージャと名前が似ていますが、別物です)の設定コンソール(GSynaptics)を導入するのが便利です。次のようにしてインストールしてください。もちろんSynapticからもインストール可能です。
なお、Kubuntuユーザの場合は「Ksynaptics」という同等の設定ユーティリティがありますので、そちらを利用してください(GSynapticsも動きますが、GNOME環境一式とともにインストールする必要があります)。
また、このままでは設定コンソールが動作しませんので、/etc/X11/xorg.confの「Section "InputDevice"」に、以下を追加し、[Ctrl]+[Alt]+[Backspace]でXを再起動してください。
インストールしたGSynapticsには、[システム]→[設定]→[タッチパッド]からアクセスできます。
なお、「タッチパッドを有効にする」というチェックボックスを誤ってOffにすると、その瞬間からタッチパッドが機能しなくなるため、注意してください。この状態に陥った場合、USBマウスなどを接続して解決するのが良いでしょう(キーボードのみで[tab]キーによるフォーカス移動を駆使して、チェックを有効にすることもできますが、身近にあればUSBマウスを接続してしまうのをお勧めします。なければキーボードで頑張ってください)。
なお、Lenovo Thinkpadの一部機種のように、タッチパッドとトラックポイントの両方が搭載されている機種の場合、この設定でタッチパッドをOffにした方が使いやすい、という方もいらっしゃるかもしれません。
タップ動作を無効にする
タップ動作とは、タッチパッドを軽く「たたく」ことでクリック動作に見せかける機能です。この機能はボタンに指を届かせる必要がないため、タッチパッドを多用する場合には便利な機能ですが、人によってはこの機能を嫌うかもしれません。
GSynapticsの[タッピング]タブで、「タッピングを有効にする」チェックボックスをOffにすれば、この機能を停止させることができます。後述のTouchpadOffパラメータに与える数値を変えることでも無効にできますが、その場合はエッジスクロールも同時に無効になります。
エッジスクロール
エッジスクロールは、タッチパッドの隅(通常は右側か下側の辺)をなぞることでホイールマウスをエミュレーションし、画面スクロールを実現する機能です。
Ubuntuではインストール時点で縦スクロール(右側の辺)が有効になっていますが、GSYnapticsを用いることで、簡単に横スクロールを設定できます。[スクロール]タブにある、「横スクロールを有効にする」にチェックを入れてください。
なお、横スクロールを有効にした場合、前述のFirefoxの横ホイールスクロールを無効にする設定が必要になります。
回転スクロール
回転スクロールは、PanasonicのLet'snoteシリーズのような円形タッチパッドに向いた設定です(通常の四角いタッチパッドでも設定できますが、トゥーフィンガースクロールやエッジスクロールの方が便利かもしれません)。これもGSynapticsから設定可能です。
[スクロール]タブにある、「回転スクロールを有効にする」にチェックを入れ、回転の開始地点を指定してください。右側・下側の辺を開始点にするとエッジスクロールと干渉する恐れがあるので、左側・上側の辺のどこかに割り当てるのが良いと思われます(筆者は左上を推奨します)。
トゥーフィンガースクロール
トゥーフィンガースクロールは、「指二本でタッチパッドをなぞる」操作にホイールエミュレーションを割り当てる設定です。
この設定はGSynapticsからは設定できませんので、xorg.confを編集する必要があります。
/etc/X11/xorg.confの「Section "InputDevice"」に、以下を追加し、[Ctrl]+[Alt]+[Backspace]でXを再起動してください。それぞれ追加すべきは以下となります。
設定後は、指二本でなぞることにより、ホイールマウス同等の動作が得られるはずです。ただし、利用するタッチパッドのハードウェア(ないしファームウェア)によっては、適切に動作しない可能性があります。次のような場合は適切に動作していないと考え、設定をOffにした方がよいでしょう。
- 上から下へのスクロールには問題ないが、下から上へスクロールさせても何故か画面が下にスクロールしてしまう。
- 動作中にポインタの位置がふらふらする。
- そもそも動作しない。
また、トゥーフィンガースクロールの場合も、横スクロールを有効にした場合は前述のFirefoxの設定を行ってください。
誤って触れてもタッチパッドを反応させなくする
/etc/X11/xorg.confの「Section "InputDevice"」に、以下を追加してXを再起動してください。ただし、この設定もハードウェアによっては機能しない可能性があります。
キーボードからタッチパッドのOn/Offを制御する
キーボードによる操作に慣れている場合(そして、タッチパッドが誤操作しやすい場所にある場合)、キーボード入力中はタッチパッドをOffにしたい場合もあるでしょう。Synaitpcsドライバにはsynclientというコマンドが用意されており、これを用いてコマンドラインから設定値を変更することができます。
※この設定を行うには、SHMConfig trueが設定されている必要があります。
CompizやGNOMEの設定を用い、キーボードショートカットに割り付けて利用しても良いでしょう。
なお、synclientコマンドは、TouchpadOff以外の設定を動的に変更することも可能です。前述の各種設定を試す場合、synclient経由で行っても良いかもしれません(例:synclient VertTwoFingerScroll=1)(注1)。
- 参考になるドキュメント
- ThinkWiki
http://www.thinkwiki.org/wiki/ThinkWiki
http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint
- Gentoo WikiのSynaptics Touchpadに関するページ
http://gentoo-wiki.com/HARDWARE_Synaptics_Touchpad