Linux上でマウスジェスチャーを使う

 私がマウスジェスチャーを初めて使ったのはOperaブラウザ上で意図せずしてであったのだが、メニューを使ったりナビゲーションツールバーにマウスを移動させたりしなくても、ブラウザ履歴の前後のページへ移動したり、新規ウィンドウを開いたり、タブを閉じたりするなどの様々なことを素早くすることができるので、すぐに気に入ってしまった。今やマウスジェスチャーはFirefoxやKonquerorでも使うことができるだけでなく、GNOMEやKDEデスクトップ環境でも使うように設定することができるようになっている。

 マウスジェスチャーというのは、要するにキーボードのショートカットのようなものだ。マウスジェスチャー機能を利用すれば、マウスで描くパターンに対してよく使うタスクを割り当てることができる。つまり例えば、マウスをクリックして左にドラッグすることで、閲覧していた一つ前のページに移動できるようにすることなどができる。

 Konquerorでマウスジェスチャーを使用するためには、Control CenterでAccessibility(アクセシビリティ)を選択して、キーボードとマウスのショートカットキーを設定するためのInput Actions(入力動作)をクリックし、Konqueror Gestures(Konqueror用のジェスチャー)の中で、ウィンドウの右側にあるDisable(無効にする)チェックボックスのチェックを外しておけば良い。なおExamples(例)の中で様々なデフォルトのキーボードショートカットを見ることができる。

 すでにタスクが割り当てられているマウスジェスチャーを見るためには、タスク名をクリックして、画面右側にあるGestures(ジェスチャー)タブをクリックすれば良い。例えばClose Tab(タブを閉じる)の場合には、直角に曲がるZ字型になっている。より分かりやすくするために、ジェスチャーの隣には「78523」という数字の表記もある。この表記は各数字のテンキーでの位置を表わしたものなので、「78523」というのはつまり、マウスのボタンを押して、マウスを右→下→右に動かした後、ボタンをはなすという意味だ。

 ジェスチャーを変更したい場合には、Gestures(ジェスチャー)タブの下のEdit(編集)ボタンをクリックする。Reset(リセット)をクリックすればデフォルトの動作が削除されるので、自分の希望のジェスチャーを3度描けば良い。

 Firefoxブラウザを使用している場合には、 Mouse Gestures 拡張をインストールすれば良い。この拡張を使用すれば、ウィンドウの最小化/最大化や、ページのスクロール、タブの切り替えなどのタスクのためのジェスチャーを利用することができるようになる。拡張をインストールしたら、まず、Tools(ツール)→Add-ons(アドオン)→Extensions(拡張)をクリックして有効にしておこう。

 次にPreferences(設定)ボタンをクリックしてマウスの動作を設定する。私の場合ここで、自分の描くマウスジェスチャーを見ることができるマウス軌跡機能を利用している。これを行なうためには、Visual settings(視覚設定)タブをクリックしてActivate mouse trails(マウスの軌跡を有効にする)を有効にしておく。そしてマウスジェスチャーを編集するには、General(一般)タブの中のEdit Gestures(ジェスチャーの編集)ボタンをクリックする。数字だけで表記されるKonquerorのジェスチャーとは違って、Firefoxのジェスチャーのいくつかはアルファベットと数字で表記されている。つまり、テンキー上の「2、4、6、8」は「D(下)、L(左)、R(右)、U(上)」と表記される。したがって、例えば次のタブに切り替える場合には、Konquerorではマウスを「14789」の方向で動かすと表記するが、Firefoxではマウスのボタンをクリックして「U(上)R(右)」の方向に動かすと表記することになる。

 ジェスチャーを変更するためには、Active gestures(有効になっているジェスチャー)リストからジェスチャーを選択してEdit(編集)をクリックする。そしてGesture code(ジェスチャーコード)フィールドの中に新しいジェスチャー用のコードを入力しても良いし、あるいはRecognize(認識)ボタンをクリックして新しいジェスチャーを描いても良い。

  Brightside などのアプリケーションを使用すれば、デスクトップ環境用のマウスジェスチャーを設定することができる。Brightsideの場合には画面の各隅に対して動作を割り当てることができるので、マウスを画面の隅に動かすことでスクリーンセーバーを起動したり消音したりするように設定することができる。さらにKDEでも似たような動作を2つControl Centerから設定することができる。一つはスクリーンセーバーを自動的に起動するように設定することで、Appearance & Themes(見掛けとテーマ)(ディストリビューションによってはDesktop(デスクトップ)と表示される)の中のScreen Saver(スクリーンセーバー)で、画面の隅に対して画面のロックという動作を割り当てることができる。もう一つはマウスポインタを画面の端に移動することで仮想デスクトップを切り替えることができるように設定することで、Control Center→Desktop(デスクトップ)→Window Behavior(ウィンドウの動作)から、右側のAdvanceタブをクリックしてActive Desktop Borders(アクティブ・デスクトップ・ボーダー)の下のAlways enabled(常に有効にする)ラジオボタンをクリックすれば良い。

デスクトップジェスチャー

 GNOMEデスクトップ上でマウスジェスチャー機能を使用できるようにするためのプログラムには、 GestikkwayV とがある。

 最近リリースされたGestikk 0.4は、これまでのリリースの中でもっとも便利なものになっている。GestikkはPython、wxPython、GTK+ などに依存しているので、それらをすべてインストールしたら、gestikk-0.4.tar.gzファイルをダウンロードして、コマンドラインで「tar zxvf gestikk-0.4.tar.gz」を実行して展開しよう。

 Gestikkのインストール作業は必ずしもする必要はない。gestikk-0.4ディレクトリに移動して「python -c gestikk.py」を実行するだけで、Configuration(設定)ダイアログボックスが起動する。Preferences(設定)タブの中で、Tolerance value(誤差範囲)をデフォルトの100ではなく推奨値である20に変更しよう。次にGestures(ジェスチャー)タブをクリックしてAdd(追加)ボタンを押す。ここで新しくウィンドウが開くので、マウスジェスチャーを作成するためにウィンドウの中でジェスチャーを描く。描いたジェスチャーが認識されたら、確認のために再びジェスチャーを描くように指示されるので、もう一度描こう。それが終われば新たなウィンドウが開き、描いたマウスジェスチャーに割り当てたい動作を指定することができる。Command(コマンド)をクリックしてテキストフィールドにアプリケーション名を入力したら、Create(作成)をクリックする。そしてApply(適用)ボタンをクリックすれば、マウスジェスチャーが保存される。設定ウィンドウを閉じるにはCancel(閉じる)をクリックすれば良い。

 ここで、作成したマウスジェスチャーをテストしてみよう。まずコマンドラインで「python gestikk.py」を実行してGestikkを起動する。次に、Ctrlキーを押したままマウスジェスチャーを描く。適切なマウスジェスチャーを正しく描くことができていれば、割り当てられているアプリケーションがGestikkによって起動されるはずだ。

 一方のwayVのインストールも非常に簡単で、「./configure」、「make」、「make install」の各コマンドを実行するだけだ。wayVの設定ファイルは/usr/local/etc/wayv/wayv.confで、このファイルの中には、認識可能なマウスジェスチャーのリストが最初にあって、その次に各ジェスチャーに割り当てられている全動作のリストがある。各ジェスチャーは、描くべき軌道を「1」で表わした図として表現されている。またマウスの動きの解釈には、その図の次にある「vector」フィールドも使用される。例えば次のようなC字型のマウスジェスチャーの場合、vectorフィールドは「W(西)、SW(南西)、S(南)、SE(南東)、E(東)」になる。

Gesture {
        name = "C";
        description = "C";
        shape =
          0, 0, 0, 1, 1, 1, 1, 0
        , 0, 1, 1, 1, 0, 0, 0, 0
        , 1, 1, 0, 0, 0, 0, 0, 0
        , 1, 0, 0, 0, 0, 0, 0, 0
        , 1, 0, 0, 0, 0, 0, 0, 0
        , 1, 0, 0, 0, 0, 0, 0, 0
        , 0, 1, 1, 0, 0, 0, 0, 0
        , 0, 0, 0, 1, 1, 1, 1, 1
        ;
        vector = W, SW, S, SE, E;
        action = "Action C";
}

 ジェスチャーに割り当てる動作を変更するには、ファイル中で該当するAction行を見つけて、processフィールドを編集すれば良い。例えば私の場合、C字型のマウスジェスチャーによってgcalctoolが起動するように動作の割り当てを変更した。

Action {
        name = "Action C";
        process = exec "gcalctool";
        match = "";
}

 他のマウスジェスチャーにも同じ方法で動作を割り当てることができる。編集が終わったらファイルを保存して、コマンド行で「wayv」を実行してwayVを起動しよう。あとはマウスの中ボタンか、または中ボタンをエミュレートするように指定したボタンを押しながらマウスジェスチャーを描けば良い。

結論

 マウスジェスチャーが便利かどうかは、ユーザがマウスを普段どのように使っているかによって異なる。文章を読みながら行を選択することが頻繁にあるユーザにとっては、文中の単語を2つほど選択しようとしただけでブラウザ履歴の前のページに戻ってしまうというようなことも起こり得るため、マウスジェスチャーは邪魔でいらいらするだろう。しかしそれ以外のユーザは、マウスジェスチャーを便利に楽しく使うことができるだろう。

Shashank Sharmaはフリー/オープンソースソフトウェアの初心者向けの記事を専門とするライター。Linux.comフォーラム掲示板のモデレータを務める。Apress社刊Beginning Fedoraの共著者。

Linux.com 原文