その39.各種トラボ・マウスの信号を調べてみる ←その38に戻る 最初のページに戻る その40に進む→ |
手持ちのトラボ・マウスのうち基本的に3ボタンより上の機種についてボタンとホイールの信号について調べてみました。
方法は、いつもの汎用USBドライバを使って信号を直接見てます。
マウスやトラボなどのインプットデバイスは、PCに対してXY軸の相対移動量とボタンのONOFF、ホイールの上下(左右)の状況を通信していまますが、3ボタン+ホイールの標準的なマウスの構成であれば特別なドライバなど無くても動作するように、信号が共通になっています(多分)。
しかし、それ以上の多ボタンやチルトホイールなどは、メーカーや機種によって独自の拡張?がされているようで、共通な規格は無いのか、有っても守られていないのか、かなりバラバラな状態のようです(自分が持ってる機種がマイナーメーカーが多いからそうなるのかも知れませんが)。
1.トラボ編
最初にKengingtonのフラッグシップ機の変遷(ってほどでは無いですが)です。
EM5は2ボタンマウスにボタンを2つ追加したような構成になっています。
USBのプロダクトIDは0x1015
Byte Bit 適用 0 0 左下ボタン(ONで1、OFFで0、以下同様) 1 右下ボタン 2 左上ボタン 3 右上ボタン 1 0〜7 X軸移動量 -128〜127 2 0〜7 Y軸移動量 -128〜127
EM6は5ボタンホイールマウスに1バイト追加してランチボタンを入れた構成です。
EM5と同じ位置のボタン(右上・左上)が信号的に違うのが注意点?です。
USBのプロダクトIDは0x1002
Byte Bit 適用 0 0 左下ボタン(ONで1、OFFで0、以下同様) 1 右下ボタン 2 中(ホイール)ボタン 3 左上ボタン 4 右上ボタン 1 0〜7 X軸移動量 -128〜127 2 0〜7 Y軸移動量 -128〜127 3 0〜7 ホイール上げ:0x01
ホイール下げ:0xff4 0 ランチボタン1 1 ランチボタン2 2 ランチボタン3 3 ランチボタン4 4 ランチボタン5 5 ランチボタン6
EM7は3ボタンホイールマウスにボタンを一つ追加したような構成です。
4つのボタンはEM5と同じ信号になっています。
USBのプロダクトIDは0x1020
Byte Bit 適用 0 0 左下ボタン(ONで1、OFFで0、以下同様) 1 右下ボタン 2 左上ボタン 3 右上ボタン 1 0〜7 X軸移動量 -128〜127 2 0〜7 Y軸移動量 -128〜127 3 0〜7 ホイール上げ:0x01
ホイール下げ:0xff
MSのトラボとストリームは、普通の5ボタンだろうという事で調べてません。
CT-100は以前にWin98だとUSBで動かなかったので、トライしてない。というのも汎用USBドライバがWin98でしか動かしていない(Xpで動かす為にはコンパイルしなおす必要が有るらしいんだけど、ドライバ関連のライブラリ?も必要だったりして面倒なので)ので。
あと、トラボではマーブルマウスを見てみました。
マーブルマウスのスクロールボタンは、ホイールの信号ではなくて第四・第五ボタンとなっています。
余談ですが、ホイールと同等の信号が出ているものと想像して、ホイール追加の改造を構想していたのですが、これだとハードルが高すぎてやる気が無くなりました。
Byte Bit 適用 0 0 左下ボタン(ONで1、OFFで0、以下同様) 1 右下ボタン 3 左スクロールボタン 4 右スクロールボタン 1 0〜7 X軸移動量 -128〜127 2 0〜7 Y軸移動量 -128〜127
2.マウス編
以前から気になっていたチルトホイールなどの水平スクロール用の信号を調べてみました。
今回は、本家?MSのマウスとLOASの5ボタンチルトマウスを見てみたのですが、何故かLOASのモノはドライバを適用できなくてデータ取りに失敗してしまいました。
なお、以前に調べたモノも併記しておきます。
MicroSoftのComfort Optical Mouse3000は、チルトの動作が見たくて買っただけなので、まともに使ってないのですが、センサの挙動はイマイチな感じです。
信号は6バイト有るのですが、先頭バイトは読み取りミス?かも知れません。何故ならXY軸の信号がずれていて挙動するのはおかしいので・・・
Byte Bit 適用 0 0〜7 *)詳細不明、マウスを動かすと17になる。 1 0 左下ボタン(ONで1、OFFで0、以下同様) 1 右下ボタン 2 中央(ホイール)ボタン 4 左脇ボタン 2 0〜7 X軸移動量 -128〜127 3 0〜7 Y軸移動量 -128〜127 4 0〜7 ホイール上げ:0x01
ホイール下げ:0xff5 0〜7 ホイール右傾け:0x01
ホイール左傾け:0xff
サンワサプライの5ボタンチルトレーザーマウスMA-LS3はチルトの動作をボタンのバイトに乗せています。
なんでMSと合わせなかったのか不思議ですが、サンワとKYEのコンビ?なので、多分何も考えて無いんでしょう。
Byte Bit 適用 0 0 左ボタン(ONで1、OFFで0、以下同様) 1 右ボタン 2 中(ホイール)ボタン 3 サイド前ボタン 4 サイド後ボタン 5 チルトホイール左側 6 チルトホイール右側 1 0〜7 X軸移動量 -128〜127 2 0〜7 Y軸移動量 -128〜127 3 0〜7 ホイール上げ:0x01
ホイール下げ:0xff
アーベルのフリーボールマウスの5ボタン版。チルトに相当するボールの左右の動きをホイール動作のバイトに乗せてます。
Byte Bit 適用 0 0 左ボタン(ONで1、OFFで0、以下同様) 1 右ボタン 2 中(ホイール)ボタン 3 第四ボタン 4 第五ボタン 1 0〜7 X軸移動量 -128〜127 2 0〜7 Y軸移動量 -128〜127 3 0〜7 ボール前0x01
ボール後0xff
ボール左0x07
ボール右0xf9
これは動作的に同じ信号には成り得ないですが、スティックタイプのMA-G8(サンワサプライ)です。
スティックの信号はMSのチルトと同じバイトに乗ってますが、値が大きく出るのでドライバを入れないと超高速スクロールになってしまいます。
Byte Bit 適用 0 0 左ボタン(ONで1、OFFで0、以下同様) 1 右ボタン 2 中(ホイール)ボタン 1 0〜7 X軸移動量 -128〜127 2 0〜7 Y軸移動量 -128〜127 3 0〜7 スティック前後 -63〜63 4 0〜7 スティック左右 -63〜63
これが何故かドライバを認識させられなかったLOASの5ボタンチルトマウス。普通には使えます。
余談ですが、このマウス、dpi切り替えボタンも付いててもちろん光学式で2000円以下で売ってるという・・・まあ耐久性とか不明ですが。
MSのチルトマウスの先頭バイトがちょっと良く判らないんですが、それを無視するとして、チルト(水平)スクロールの信号は見事に全部バラバラです。まあ、一方の雄であるLogitechのモノは見てないので、これがMSと同じなら主流はそれになりそうですが。