魔術師見習いのノート

プロフィール

魔術師見習い
Author魔術師見習い-_-.
Twitter魔術師見習い

コンピュータ関係のメモを主に書きます.

MENU

imwheel

投稿日:
タグ:

本稿ではX11環境で多ボタンマウスを使用するのに使用するプログラムの一種,imwheelについて紹介する.

はじめに

一般的なマウス

多くのマウスでは,右ボタンと左ボタン,中ボタンがある.コンピュータのよっては中ボタンがないものもあるが,左右のボタンを同時に押すことで,中ボタンとして扱えるものがある.また,中ボタンはホイールになっているものが多く,そうでないノートPCの中にはタッチパネルで同様の操作をできるものがある.

多ボタンマウス

多ボタンマウスと呼ばれるマウスは,一般的なマウスよりも多くのボタンを持つ.imwheelはそのようなボタンやホイールをサポートするためのプログラムである.imwheelは動作するウィンドウとマウスのボタン(またはホイールの方向),修飾キー,入力するキーの組み合わせを結びつけることで,多ボタンマウスを利用可能にする.

imwheelを使用する場合,次の2つの設定が必要である.

  • imwheel
  • X11
imwheelは,X11の設定が標準のままであっても,正しく動作するかもしれないので,とりあえず「imwheelの設定(imwheelrc)」を行なって,上手くいかない場合に確認しても良いだろう.

imwheelの設定(imwheelrc)

imwheelの各要素は,次の4つの組み合わせからなる.

  1. フォーカスされたウィンドウ名
  2. 修飾キー
  3. 押したマウスボタンやホイールの向き
  4. 入力するキー
以下に実際の例を紹介する.
".*firefox"
None,		Thumb1, Control_L|Tab

「フォーカスされたウィンドウ名」を除く3つの要素は,","で繋いで記述する.それゆえ,このテキストではそれぞれ次のように対応される.
  1. 文字列の末尾が"firefox"のウィンドウ
  2. 修飾キーなし
  3. Thumb1
  4. Control_L+Tab
Thumb1とはボタンに付けられた名前である.X11では,ボタンは番号で管理される.そしてimwheelでは,ボタン番号に次のような名前が付けられている.
4Up
5Down
6Left
7Right
8Thumb1
9Thumb2
10ExtBt7
11ExtBt8
このような情報はimwheelのマニュアルを参照されたい.

「入力するキー」については,同時に入力するキーは"|"で繋ぐことで記述する.

また,1つの「フォーカスされたウィンドウ名」に対して,複数の「修飾キー」と「押したマウスボタンやホイールの向き」,「入力するキー」の組み合わせを記述する.以下に実際に私が使用している設定ファイルの一部を紹介する.

".*firefox"
None,		Thumb1, Control_L|Tab
None,		Thumb2, Control_L|Shift_R|Tab

".*ファイル・ブラウザ"
None,	 	Left, Control_L|Page_Up
None, 		Right, Control_L|Page_Down
None,		Thumb1, Alt_L|Right
None,		Thumb2, Alt_L|Left

".*Dolphin"
None, 		Left, Control_L|comma
None,		Right, Control_L|period
None,		Thumb1, Alt_L|Right
None,		Thumb2, Alt_L|Left

デスクトップ上の操作

デスクトップ環境やウィンドウマネージャの背景のことをルートウィンドウという.ルートウィンドウの設定を記述したい場合,imwheel起動時に"-r"オプションが必要である.また,「フォーカスされたウィンドウ名」には,"\(root\)"を指定する. 以下にサンプルを示す.

"\(root\)"
None,		UP,	h
None,		DOWN,	l
None,		Left,	Super_R|h
None,		Right,	Super_R|l
None,		Thumb1,	h
None,		Thumb2,	l


X11の設定

多ボタンマウスを使用する場合,X11の次の2種類の設定ファイルを変更が必要かもしれない.

  • xorg.conf
  • xmodmap

xorg.conf

X11はxorg.confという設定ファイルで基礎的な設定を行う.X11で一般的なマウスにないボタンを認識する場合,設定ファイルに次のような記述が必要である.

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection
私の環境ではこの設定ファイルで8と9も認識されたが,これは実行環境に依存すると思われる.

xmodmap(ボタン番号)

マウスのボタンは,X11で認識してもユーザが意図したボタンとして認識されない場合がある.特に一般的なマウスにないボタンの場合は,なおさら期待できないだろう.

そのような場合,ボタン番号の割り当て(再割り当て)が必要である.X11では,xmodmapを使って"xmodmap -e"コマンドの引数に次の文字列を与えるか,設定ファイル(.Xmodmap)に次の行追加すれば良い.私の環境では,次のように指定した.

pointer = 1 2 3 4 5 6 7

一覧