先に進む前に, お持ちのマウスに関する重要な特性をまず 二つ知っておかねばなりません. どんなハードウェア・インタフェースが使われているのか, そして, どんなマウス・プロトコルが使われているかです.
ハードウェア・インタフェースとはマウスのハードウェア的な側面で, どの I/O ポートを使っているかとか, どうやって接続を検出するのかといったたぐいのことです. これはカーネルに関係する部分なので, マウスからのデータの読みだしかたはカーネル自身が知っています. シリアルマウスの場合は, インタフェースは必ずシリアルポートの デバイスドライバになりますから話が簡単です.
マウス・プロトコルはソフトウェア寄りの問題です. カーネルのデバイスドライバから受けとった マウスの生 (raw) データの内容を解釈するには, アプリケーションがそのプロトコルについて知っていなければなりません.
バージョン 2.2 系までの Linux カーネルは, バスマウスのハードウェア・インタフェースを 4 種類サポートしています. Inport (Microsoft), Logitech, PS/2, ATI-XL の 4 つです.
バージョン 2.4 系のカーネルには, IBM PC110 デジタイザ・パッドや Apple Desktop マウスといった 新しいバスマウスのサポートもいくつか入っています. USB マウスのドライバも入りました. USB マウスは, より一般的なシリアル・ドライバ・インタフェースから 外れてしまうので, バスマウスと一緒に語られることもよくあります.
Inport マウスには, 「鳩印石鹸」のような形をした古いタイプの Microsoft マウスのほとんどが含まれます. 一般的に, Inport マウスはマザーボードのバスに差したインタフェース・カードに接続されます. インタフェース・カードにマウスのコードを差し込む部分のプラグが丸く, 9 ピンで, 片方に切れ目が入っているならば, 多分それは Inport マウスです.
(訳注: 「鳩印石鹸」はアメリカで売られている石鹸. 上から見ると楕円形, 横から見ると弓型に反っているそうです)
ATI は現在, ATI の VGA + Busmouse コンボ・カードは Microsoft Inport ハードウェアを使っているので, このカードのユーザなら Microsoft Busmouse ドライバをまず最初に試すべきだと主張しています.
ATI-XL VGA+Busmouse カードは技術的には Microsoft Inport マウスドライバと互換性がありますが, 割り込みの割り当てが結構違っているので, 専用のドライバが必要になります. あまりちゃんとサポートされているドライバではないので, できれば避けましょう.
Logitech マウスは, 普通は Inport マウスとほとんど一緒の外見です. Inport マウスと同じく, 9 ピンのミニ DIN コネクタで インタフェース・カードに接続します. ただ運がいいことに, Logitech マウスは Logitech の 箱に入っていますし, コネクタ・カードに ``Logitech'' と印刷してあったりもしますので, これは確かに Logitech のマウスなんだな, ということがわかります.
PS/2 マウスのインタフェースは拡張カードにではなく, キーボード・コントローラの PS/2 ポートに接続されます. これは時にはキーボードの上にあったりしますが, だいたいはコンピュータの筐体に直接くっついているコネクタです.
PS/2 ポートはキーボード・コネクタに似た 6 ピンのミニ DIN コネクタです. トラックボールやタッチパッドとの接続に この種のインタフェースを用いているラップトップ・パソコンも多くあります; この場合は PS/2 ポートに内部的に接続されていて, コネクタは必要ないのですが.
ATI-XL マウスは Inport マウスの一種ですが, 割り込みの設定にちょっとした違いがあります. このマウスは ATI-XL のビデオアダプタ+マウスのコンボセットについてきます. ATI-XL カードを所有しているわけでもなければ (従って ATI-XL マウスも持ってなければ), 多分どっちもあなたには関係ないでしょう. ATI-XL マウスは, ATI-XL, Inport 両方のカーネル・ドライバで使うことができますが, ATI-XL ドライバで使ったほうが良い結果が出ます.
ATI VGA1024 もしくは ATI VGA Wonder と呼ばれる, ATI の古いビデオアダプタ/マウスカードもあります. これらは ATI-XL 同様の構成ですが, Logitech マウス・プロトコルを使っています. このマウスを使うのなら, ハードウェアのドライバは ATI-XL と同様に, ソフトウェアは Logitech マウスと同様に設定してください.
IBM PC110 パームトップには, PS/2 マウス・プロトコルを用いた, マウスをエミュレートできるデジタイザ・パッドがついています. この場合は IBM PC110 デバイス・ドライバを使って ハードウェア・インタフェースを設定し, ソフトウェアは PS/2 マウスのごとく設定してください.
このバスマウスは Macintosh で一般的なもので, 4 ピンのコネクタを使っています. ハードウェアはカーネルでコントロールされますが, アプリケーション・ソフトウェア側には, この独自のマウス・プロトコルに対応している必要があります. このマウスがどんなプロトコルを使っているのか, 今のところ私はわかりません.
バスマウスが一般的だった時代, ハードウェア・メーカーは各種の実験を行い, 互いの設計をクロス・ライセンスしていました. 従って, Logitech のハードウェア・インタフェースを用いる ATI のマウスがあったり, Inport インタフェースを使った Logitech のものがあったりしたのです. バスマウスを持っているのに, 標準的なインタフェースやプロトコルの設定で動かないという場合には, 別のインタフェースのドライバ, 別のマウス・プロトコルを試してみましょう.
PC の世界は, 異なった, そして互いに衝突するマウスのプロトコルだらけです. 幸いなことに, バスマウスにおける選択の数は, シリアルマウスのそれよりはかなり少なくて済みます. Inport, Logitech, そして ATI-XL マウスのほとんどは ``BusMouse'' プロトコルを使っていますが, かなり古い Logitech マウスには ``MouseSystems'' プロトコル, そして ``Logitech''プロトコルを使っている古い Microsoft マウスさえもあります. PS/2 マウスは常に ``PS/2'' プロトコルを用いています.