その18.LogitechのMouseWareでのカーソルの挙動
←その17に戻る 最初のページに戻る その19に進む→
1.本題からはずれますがLogitechのドライバを調べる

 
薄々気づいてはいたんだけど、サンワのドライバって半分くらいはWin標準ドライバの機能を使っている変則的?な作りで、特にカーソル移動の部分は全く依存しているようなので、参考の為にLogitechのドライバ(MouseWare)の挙動を調べて見た。
 とはいえ、簡単に動作を見た所MouseWareでは速度の設定にWin標準の機能を使っていないのは上記の通りなんだけど、その為これまで使っていたツール(Mouse_Eventでカーソルを動かすモノ)では結果に差が出ないので、テスト方法は1つ前に戻って実際にマウスを操作してカーソルの座標を記録する方法を取らざるを得ない、というかオレには他に思いつかない。
 その為、テストの精度が低くなるのと、加速の挙動が正確には判らないのは歯がゆい所である。

 なお、MouseWareのバージョンは9.79で、最新版をダウンロードしたものだ。

2.MouseWareのカーソル速度の設定項目

 マウスのプロパティの動作タブの下のポインタの速度と加速にて、11段階の速度スライダと4段階の加速のラジオボタンが有り、他にゲーム中は加速を無効にするというチェックボックスが有るがこれは今回は無視。

 因みに下の図は、Win98SEにてサンワのドライバをアンインストールするのを忘れててMouseWareをインストールしたら、両方のタブが並んでしまったモノ。
 これらの設定項目が保存されるレジストリ(CT-100の場合)は、多分以下の2箇所、

{1}
HKEY_CURRENT_USER\Software\Logitech\MouseWare\CurrentVersion\
Control Center\Schemes\.Default\Devices\TrackMan16\0001\Usability\
(長いんで改行してます)

{2}
HKEY_LOCAL_MACHINE
\SYSTEM\CurrentControlSet\Services\LMouFlt2\Parameters\TrackMan16\0000\
(同じく改行してます)

 因みに、以下にも似たような項目が見えるんだけど、設定を変えても変動しないので多分無意味。もしかすると接続(USB/PS2)によって変わるのかも知れない(今回はPS/2接続)。

HKEY_LOCAL_MACHINE
\SYSTEM\CurrentControlSet\Services\LMouFlt2\Parameters\PS2\0000\

 そして各項目に対応するレジストリ値は、

(1)速度のスライダ:MouseSpeedXおよびMouseSpeedY、各スライダ位置での値は下表にて
*)MouseSpeedXとMouseSpeedYは同じ値が設定される。
*)二箇所のレジストリ値が微妙に違う理由は不明。
*)変更が適用される挙動としては、スライダ・ボタンを変更すると{1}の値が変化し、プロパティ下部の「適用」「OK」ボタンを押すと{2}の値が変化する、という順番になっている。
スライダ位置 0 1 2 3 4 5 6 7 8 9 10
{1}の値 9 19 24 29 39 49 59 69 79 89 100
{2}の値 10 20 25 30 40 50 60 70 80 90 100
 勘のいい人は、値が2つ有るという事はX軸Y軸別々に設定出来るのでは?と思われるだろうが、レジストリを直接編集してXY別の値を設定すると、その想像通りに挙動する様子。
 まあ、ここで調整せねばならない程XY軸の感度差が激しいような機械はそもそも使いたくないけどね。
 話を元に戻して、

(2)ポインタの加速:Accelaration、値はOff,Low,Medium,Highの4つ、加速の挙動は評価出来ません。

 あと、気になる項目として、

(3)方向の設定:Orientation、値は0〜360でポインタを上に移動させた(つもりの)時のボールの回転方向を上方向を基準にして反時計回りにどれだけシフトさせるか(って文章にしずらいなあ、まあ実物を持っている人は何回かやって見れば判ります)の角度の数字。
 因みにマウスの場合は時計回りになるのか?
 少なくとも方向の設定をした時に、元に戻せない・数字が判らないという気持ちの悪さは解消しそうな予感。

 なお、この値のデフォルト値はCT-100の場合30となっている。これは、初期のドライバからなのか、他の機種ではどうなのか、調べるのにえらい手間なので推測だけで書かせてもらうが、要するにCT-100ではドライバを入れる前後でポインタの移動方向が30度シフトするという事だ。
 センサ配置の制約からか、設計者の趣味か、CT-100のポインタの方向はかなり癖が有るという定評だが、それをドライバで吸収しているらしい。
 もっとも、センサの配置で言えばMS探求者もXY軸とずれた向きに置いてあり、その補正はトラックボール本体内のコントローラで行っていると思われる(これまでの検証からの推定)ので、そういう点では少しスマートなやり方では無い気がする。

 以上の挙動にはWin標準側のドライバは使っていない(らしい)んだけど、影響を受けない訳ではなく例えばMouseSensitivityなどの値を変更すると、それに沿った挙動をする。
 オレの理解ではWin標準のドライバは必ず通らなければならない部分なのだろう、その為MouseWareをインストールするとWin標準のレジストリ値はデフォルト(入力値=出力値となるような設定)に戻す動きをするようだ。
 但し、インストールした後でMouseWareで設定を変える時にはいちいちそっちの値は見てないようなので、レジストリを直接編集、あるいはドライバを並立させて両方の値を設定する事は可能だ。
 MouseWare以下で動くデバイスでは設定がダブルで効いてくるので、面倒くさそうだが・・・
3.MouseSpeedX,MouseSpeedYの値

 というわけで、MouseSpeedX,Yの値を変化させてポインタの移動量を計測してみた。
 値の変更は基本的にMouseWareのスライダで設定し、加えてレジストリを直接編集して[1][5]の場合も計測した。なお、150とか200とか入れても無効みたいなので大きい方の数字は計測していない。
 OSはWinXPで、CT-100とMS探求者等が混在する環境にて、PS/2接続。
 テスト方法は以前の機種別のカーソル移動量などと同じだが、Y軸方向のみで計測している。
 それから、Win標準の方の設定はデフォルト(MouseSensitivity:10,MouseSpeed:0,以下略)にしている。
 前回、標準ドライバのみでテストした時のCT-100のポインタ移動量は150ドット弱(300カウント相当)だったので、今回のテストでは値が25の場合に相当する。これは速度の設定で左から3つ目の位置になる。
 偶然かも知れないけど、他の設定値が全部10単位なのにここだけ5単位になっているのは、ここがスルー(入力=出力)設定だからのような気がする。
 こうして見ると、Logitechの設定も意外に速めに偏ってるような気がする。

 参考までにレジストリの値と出力値で散布図にしてみると、やはり25辺りを境に折れ線になっているような気がする。だからなんだという事は無いんだけど・・・

←その17に戻る 最初のページに戻る その19に進む→

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!