Ubuntu Weekly Recipe

第13回ポインティングデバイスのカスタマイズ(2):マウスボタンの設定

前回は主にノートPC向けの設定をお届けしましたが、今回はデスクトップ向けに、マウスの利用を中心にしたレシピです。一部を除いてタッチパッドやトラックポイントでも利用できますので、ノートPCユーザの方にも役に立つでしょう。

マウスボタンの設定

「プレス」の設定

Mac用のマウスやMacBookなど、Macで利用するポインティングデバイスの一部は、ボタンが1つしかありません。いわゆる左クリックだけができる状態です。このため、OS Xなどではマウスを押し続けることで、右クリックに相当する操作が行えるようになっています。こうした操作を「プレス」と呼びます。

UbuntuをMacBook、iBookなどのMacノートや、Mac用マウスで利用する場合(ただし、Mighty Mouseなどの近年のMac用マウスは2ボタンが準備されています⁠⁠、次の設定を行うことで、プレス動作を実現することができます。

「プレス」設定は次のように行います。

まず、この設定はユニバーサルアクセスの機能を利用していますので、⁠システム⁠⁠→⁠設定⁠⁠→⁠支援技術]で、⁠支援技術を有効にする」をチェックしておく必要があります。

この設定を変更した後、再ログインしてから設定を行ってください(再ログインせずに次に進んでも、設定が行えません⁠⁠。

図1 支援技術を有効にする
図1 支援技術を有効にする

次に、⁠システム⁠⁠→⁠設定⁠⁠→⁠マウス]を開き、⁠アクセシビリティ」タブを開き、⁠第二のクリックの模擬」にある、⁠第一ボタンを押したままにすると第二のクリックとみなす⁠にチェックをいれてください。

この状態にすることで、マウスの左ボタン(第一ボタン)をプレスすることで、右ボタン(第二ボタン)クリックと同じ扱いにすることができます。

図2 ⁠プレス」の設定
図2 「プレス」の設定

右クリックで端末を開く

Red Hatなどのデスクトップ環境では、デスクトップ上で右クリックを行うと、⁠端末を開く]というメニューが存在しています。日常的な操作でマウスを主に使われている方の場合、必要に応じてターミナルでの操作が可能なため、便利な機能かと思います。

Ubuntuでは標準ではこの機能は有効になっていませんが、nautilus-open-terminalパッケージを導入することで有効にできます。次の手順を用いるか、Synapticからインストールしてください。

$ sudo apt-get update
$ sudo apt-get install nautilus-open-terminal

導入後は図3のように、デスクトップのコンテキストメニューに[端末を開く]が追加されます。

図3 拡張されたデスクトップコンテキストメニュー
図3 拡張されたデスクトップコンテキストメニュー

多ボタンマウスを使う

近年の高機能マウスのほとんどは、マウスのサイドに第四・第五ボタンが搭載されています。ものによってはマウス全体で8~9個のボタンがあり、Windows上であれば、それらのボタンに特定の操作を割り当て、便利に使うことができるようになっています。

まず、Ubuntu上で多ボタンマウスを利用するもっとも簡単な方法は、⁠マウス自体にキー操作マクロを記録することができ、各ボタンを押下することでマクロを機能させる」という動作を行う、一部のマウスを利用することです。

これらは(主にWindowsで動作する)専用ユーティリティで事前に設定を行う必要がありますが、一度設定してしまえばOS側での設定は関係なく動作しますので、非常に簡単に利用することができます。

設定を行う自信のない方、また、あまりにもマシンが多すぎて、1台ずつ設定を行う手間を省きたい方(例:筆者)にお勧めします。

たとえば、⁠サイドボタンを押下すると<Alt+←>として機能する」といった設定をしておけば、サイドボタンを押下することでブラウザの[戻る]を選択したのと同じ動作になりますし、<Ctrl+w>(ウインドウを閉じる⁠⁠・<Alt+Tab>(ウインドウの切り替え⁠⁠・<Alt+→>(進む)や、3Dデスクトップの各種ショートカットキーを登録しておくことで、便利に利用できるでしょう。

その他、<Alt+Space+n>(Alt+Spaceでアプリケーションメニューを開き、nキーで最小化する)などといった操作も考えられます。

注意点としては、専用ユーティリティを用いてこれらの動作を実現するタイプのマウスは利用できません。たとえばMicrosoft Sidewinder MouseHabu Laser Game Mouseはこうしたマクロ記録機能を持っていますが、これらはユーティリティを用いて実現しているため、Ubuntu上に持ってきても動作しません。こうしたマウスでは後述の他ボタンマウス向けの設定が必要です。

見分け方としては、次のような機能があれば利用できる可能性があります。

  • 設定にのみユーティリティを用いる。
  • マウス内部にマクロ動作を記録できる。
  • 記録したマクロ動作は、ほかのPCでもそのまま利用できる。

また、こうした機能を持つマウスでも、必ずしもすべてがUbuntu上でも動作するわけでもないようです。

筆者が実機で確認した範囲では、Logitech(ロジクール)G9 Laser Mouseは、Windowsで設定した状態で持ってくることにより、問題なく動作しましが、DHARMA POINT(シグマAPO)DHARMA TACTICAL MOUSEはCtrl/Altなどのモディファイアキーが認識されず、<Ctrl+w>がただのwになってしまう、という問題に遭遇しています[1]⁠。

多ボタンマウス用の設定

このように、マウス本体にキーボード操作を記録する機能があるもの以外のマウスを使う場合は、いくつかの設定を行う必要があります。

こうした設定をGUIで、かつ自動的に行えるようにしよう、という提案がUbuntu Brainstormで行われています。将来的には以下の設定は不要になるかもしれません。

まず最初にxorg.confを編集し、ドライバの設定を変更する必要があります。適切なデバイス名を確認するため、以下を実行してください。

$ cat /proc/bus/input/devices

システムに接続された入力デバイスすべてが一覧されますが、この中で、"N:"で始まる行を見ていくと、接続されたマウスと合致するものが存在するはずです。以下は筆者がMicrosoft SideWinder Mouseを用いて設定した際の例です。

I: Bus=0003 Vendor=045e Product=0724 Version=0111
N: Name="Microsoft SideWinder? Mouse"
P: Phys=usb-0000:00:1d.1-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.1/usb2/2-2/2-2:1.0/input/input9
U: Uniq=
H: Handlers=kbd mouse4 event9 js0 
B: EV=1f
B: KEY=c000000 1f0000 0 0 0 c000 100000 0 0 0
B: REL=143
B: ABS=ffffff00 701ff
B: MSC=10

/etc/X11/xorg.confを編集します。以下のようにgksuを用いてgeditを起動するか、sudo vi /etc/X11/xorg.confなどとしてください。念のためバックアップを取った方がよいでしょう。

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
$ gksu gedit /etc/X11/xorg.conf

xorg.confファイルを開いたら、以下のような「Section "InputDevice"」の下にある「Identifier "Configured Mouse"」セクションを探します。これはポインティングデバイスの設定です。

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"        "/dev/input/mice"
        Option          "Protocol"      "ImPS/2"
        Option          "ZAxisMapping"  "4 5"
        Option          "Emulate3Buttons"       "true"
EndSection

これを以下のように、⁠Driver」として"evdev"を使うように書き換えます。

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "evdev"
        Option          "Name"  "Microsoft SideWinder? Mouse"
        Option          "HWHEELRelativeAxisButtons" "7 6"
EndSection

ここまで終了したら、一度ログアウトします。ログアウト後にXがあがってこなくなってしまった場合は、バックアップファイルを書き戻してください。

この状態であれば、Firefoxなどのアプリケーションでは「進む」⁠戻る」動作が可能になります。

ボタンへのキー割付の変更

さらにカスタマイズしたい場合、以下の手順を行います。

xevを用いて、マウスの各所にあるボタンが、X側ではどのように受け取られているかを確認します。

これは次のように利用します。

まず、端末でxevを起動すると、図4の左側にあるような、小さなウインドウが表示されます。これがxevの実体です。ここでキーボードやマウスボタンを入力すると、X上で発生したイベントが端末にそのまま出力されます。図4の右側にある表示がそれです。

図4 xevによるイベントの取得
図4 xevによるイベントの取得

この出力結果を用いることで、マウスの各所にあるボタンが、どのように処理されるか(Button何番にマッピングされているか)が確認できます。

Microsoft Sidewinder Mouseでは、以下のボタン割り当てになっていました(手のひら部分にあるGame Explorer起動用のボタンや、ホイールの下の解像度切り替えボタンは反応がありませんでした⁠⁠。なお、チルトホイールを採用しているマウスの場合、チルト動作も個別のButtonとして認識されますので、忘れずに確認してください。

X上のButtonマウスのボタン
1左側クリック
2ホイールクリック
3右クリック
4ホイール前方回転
5ホイール後方回転
8サイドボタン下側
9サイドボタン上側

次に、設定に必要ないくつかのパッケージをインストールします。以下のように操作するか、Synapticからインストールしてください。

$ sudo apt-get update
$ sudo apt-get install xvkbd xbindkeys

各ボタンに割り当てるキーボード操作を定義する設定ファイルを作成します。

設定ファイルは~/.xbindkeysrcです[2]⁠。

"/usr/bin/xvkbd -xsendevent -text "\[Control]\[w]""
  b:8
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
  b:9

この設定は、⁠戻る」「Ctrl+w」⁠閉じる)を、それぞれボタン9とボタン8に割り付けています。このようにすることで、マウスの特定ボタンを押下した時にキーボード操作が行われたのと同じ動作が得られます。

設定ファイルを作成したら、⁠Ctrl]+[F2]でプログラムの実行ダイアログを開き、xbindkeysを起動します。

マウスボタンの割り付けは好みがありますので、使いやすい設定を試行錯誤してみてください。

試行錯誤が終わり、ログイン時点で常に有効にする場合は、GNOME Doの時と同じように[システム⁠⁠→⁠設定⁠⁠→⁠セッション]を開き、⁠追加]ボタンを押して、⁠新しく自動起動するプログラム」「名前」「コマンド」に"xbindkeys"と入力し、自動起動するようにしてください。

参考になるドキュメント

おすすめ記事

記事・ニュース一覧