マウスジェスチャとキーボードの微妙なカンケイ

マウスジェスチャを設計するぞ。もっと言えば、マウス操作体系の拡張を設計するぞ。
デファクトスタンダードがあるならそれをベースにしよう。

どうやらないらしい。では新規設計だ。
まず、どんな操作がマウスジェスチャに向いているのか。

  1. マウスを持っているときに行う操作である。
  2. 操作の本質がポインティングでない。

1.は説明不要だろう。2.は何を言っているかというと、たとえば「PowerPoint で線を描く」という操作をジェスチャに置き換えることはできない。なぜなら「線の終点と始点を指定する」という操作の本質が画面上の座標と直接結びついているから。一方、「×ボタンを押してウィンドウを閉じる」という操作はジェスチャに置き換えることができる。なぜなら「ウィンドウを閉じる」という操作の本質は画面上の座標と関係ないから。そもそもマウスやライトペンといったポインティングデバイスは前者のような操作をコンピュータ上で実現するための道具だったが、 GUI の発明により、ボタンとかチェックボックスとかいう「抽象的な操作を画面上の座標にマッピングしたもの」を通して後者のような操作にも利用されるようになった。この発明は多くの人々に受け入れられたが、人々が GUI に習熟するにつれて欠点が顕在化してきた。「目的の操作を行うボタンを探し、そのボタンにポインタを合わせてクリック」という作業はめんどくさいのである。頻度の高い操作ほどこのコストは耐えがたいものになる。そこで、最初に目を付けられたのはスクロールバーだった。マウスにホイールが搭載され、縦スクロールバーは過去の遺物となった。次に5ボタンマウスとやらが登場し、ブラウザの「戻る」「進む」が置き換えられた。最近になってチルトホイールが発明され、横スクロールバーもマウスの餌食となった。しかし、こうしたマウスの多自由度化には限界があるし、ハードに依存するので汎用性も低い。そこで、操作を特定するためにポインタの絶対座標を用いるのではなく、(トリガが引かれてからの)相対座標の差分=ポインタの軌跡を用いる方式が発明された。それがマウスジェスチャである。トリガとしては右ボタン押下がよく使われる。本稿ではホイール回転も「軌跡」に含めて考える。
…と、前振りだけで15行も書くつもりはなかったんだけどな。まぁ駄文を書く練習ということで。やっぱ ThinkPad のキーボードの方が筆が進むわ。
以下本題。私は MDIBrowser で「右ボタン + ホイール回転」をタブの切り替えに割り当てている。左手マウスなら「人差し指を下げながら中指を前後させる」であり、指2本の連動を必要とする。また、「Ctrl + ホイール回転」で表示倍率の変更、「Shift + ホイール回転」で戻る/進む、という操作が IE では可能だが、両手を必要とする。そこで武蔵は考えた。チルトホイールを持つマウスなら、「ホイールを左に傾けながら回転」「ホイールを右に傾けながら回転」という操作ができるはずだ。これをうまく使えば指1本で可能な操作が増えるじゃないか。
というわけで、連続性を持つ操作をリストアップしてみた。この中から頻度の高いものを選んで「○○ + ホイール回転」に割り当てたらいいと思うが、どうか。