• The Sixeth Button

Windowsで利用できるマウスは、安価なものも存在するが、一万円を超えるような高級なマウスもある。高級なマウスを象徴するものとして多数のボタンが装備されていることが挙げられる。こうしたマウスでは、専用ソフトのインストールが不可欠だ。というのは、Windowsは、標準でマウスのボタンを5つしかサポートしておらず、それ以上のボタンを使うには、デバイスドライバ(フィルタードライバ)などの導入が必要になるからだ。

Windowsはマウスを抽象化してアプリケーションから扱えるようにしてある。マウスが複数接続されていても、ボタンやマウスの動きをハードウェアに依存せずに取得できる。たとえば、2つのマウスがあるとき、片方の左ボタンを押しながらもう1つのマウスを動かしてもドラッグが可能だ。Windowsがポインティングデバイスを抽象化しており、イベントの原因となったハードウェアに関わりなく、右ボタンが押されたこと、ポインタが移動したことを通知するからだ。

USBマウスは原理的にはボタンの数を5つに制限されずに扱うことができるが、Windowsでは、5つしか認識しない。これは5ボタンが最大となるPS/2マウスを扱う既存の枠組みにUSBマウスを組み込んだからだ。

PS/2マウスは、1987年に登場したIBMのPersonal System/2(PS/2)用のマウスである。この機種に搭載されたPS/2マウスコネクタを使って接続を行う。PS/2以前、IBM PC互換機では、インターフェースカードを使うバスマウスか、シリアルポートに接続するシリアルマウスが一般的だった。PS/2マウスコネクタは、初めてPCに内蔵されたマウス専用インターフェースだった。IBM PC/ATのキーボード・インターフェースをベースに、キーボード用、マウス用のPS/2コネクタが作られた。既存のATキーボードと互換性もあることから、PS/2コネクタは急速にPC互換機やサードパーティ製品に普及する。そのハードウェア特性からいまでもゲーム用にPS/2マウスを使う人もいるらしい。

仕組みはキーボードと同じく、双方向のクロック信号とデータ信号の2つの信号線で接続を行う。PS/2コネクタはピンが2本多く、マウス用とキーボード用の信号線を別のピンに割り当ててある。かつては、マウス用、キーボード用に分かれていたが、最近では、どちらをつないでも動作するタイプのPS/2コネクタが装備されたマザーボードもある。なお、PS/2コネクタが1つしかない場合、スプリッタケーブルと呼ばれる2又に分かれたケーブルを使うことで、マウスとキーボードを同時に接続できる。この仕組みは、IBM(当時)のThinkPadが装備していた。

WindowsがUSBをサポートしたのは1998年のWindows 98から。このため、USBマウスが市販されるのは、これ以降のことである。もっとも、USBが安定したものになったのは、翌1999年のWindows 98 Second Editionあたりから。マイクロソフトのマウス製品もこのあたりからUSB対応となる。しかし、当初のUSBマウスには、PS/2コネクタ変換アダプタが同梱され、PS/2コネクタ、USBのどちらにも接続できる製品が多かった。

最初のPS/2マウスは、ボタン2つでホィールもないものだったが、マイクロソフトは、1996年にホィールを持つInteliMouseを発売、このとき、PS/2マウスのプロトコルを改良した。その後、サイドボタンなどを追加して5つのボタンを利用できるようにプロトコルを変更している。

マウスのボタンは、中央ボタン以外は標準で動作が割り当てられている(表01)。中央ボタンは割り当てがなく、アプリケーションが動作を定義できる。たとえば、Chromeブラウザでは、自動スクロールや新しいタブでリンクを開くなどの動作が定義されている。

  • ■表01

6つ以上のボタンをサポートするには、専用ソフトウェアのインストールが必要になる。たいていは、フィルタードライバなどを組み込み、特定のマウスのみをサポートする。第6ボタン以降は標準の機能割り当てが存在しないので、このソフトウェアで動作を割り当てる。フィルタードライバもデバイスドライバの1種なので電子署名が必要となる。それにはコストがかかるため開発できるのは、それなりの規模のビジネスを行っているメーカーに限られる。

ただし、5ボタンまでならばドライバを開発することなく、ボタンに動作を割り当てることができる。WindowsのAPIでマウスイベントを「フック」して、挟み込んだソフトウェアでイベントを置き換えることでボタンの動作を定義できる。この仕組みを使うWindows用のフリーソフトがいくつかある。

筆者は、マウスのボタンが2つしかない時代から使っているため、マウスに多数のボタンがあっても、なかなか指が対応できなかった。戻るボタンがあっても、ブラウザウィンドウのGUI操作などで済ませていた。しかし、マルチディスプレイの枚数が増え、4Kディスプレイが複数になったら、ディスプレイ間で大きく移動させることが増え、マウスを見失うこともあって面倒になってきた。そこで、ホットキーでマウスをディスプレイの中央に動かすアプリを作った。そのホットキーを4番目のボタンに割り当てて使うようになり、ようやく4番目のボタンを使うようになった。

しかし、マウスなどを切り替えるたびに、ソフトウェアをインストールして設定し直すのが面倒なのと、某メーカーのマウスユーティリティが単一機種しかサポートせず、同じ会社の製品は1つしか使えないという問題があったので、すべてX-Mouse Button Controlで済ませることにした。これだと、どのマウスでも5つのボタンしかサポートできないが、どのマウスを接続しても、アプリをインストールして設定し直す必要がない。

今回のタイトルネタは、1964年の米国ドラマ「The Outer Limits」のエピソード「The Sixth Finger」である。この番組、いきなりオシロスコープの波形が映り「これはテレビの故障ではありません」というナレーションで始まる。ネタバレになるのでエピソードについては触れないが、この番組は一回完結で基本的にSF、かつ恐怖を描く。これに「触発」された作品も少なくない。