MOUSE TIPS

Last-modified: 2023-04-29 (土) 20:33:50

基礎知識

読み取り方式

厳密には現在製造されているマウスはタブレット式を除けば、ボール式やレーザー式などを含めて全て光学式マウスの一種と言えるが、ここではごく一般的な分類を紹介する。
各製品に搭載されているセンサーの詳細及び解説については「主なセンサー」の項を参照。

光学式

  • CMOSカメラで連続的に撮影した画像を処理する事で動作を検知するマウスで、光源にLEDを使うマウスの事を指す。
  • 光源のLEDは可視光に限らず、赤外線LEDなど不可視光である場合もある。
    • レーザー式のほとんどが不可視光を採用しているため、光学式とレーザー式の区別を可視光の有無で判断するケースがあるが、誤りである。
    • 赤外線LEDを採用した光学式センサーには、Razerの3G infrared sensor等がある。
  • かつては総合的に最も高性能・高精度とされていた。
    • 2008年ごろにMicrosoft社が打ち出した「レーザーセンサーの技術を取り入れた、新技術の光学センサー」とする"BlueTrack"などをはじめ、高性能化と共に各社が独自色を持ったセンサーユニットを宣伝するようになった。
    • 2016年現在では消費電力の低い赤外線LED、解像性能で有利な青色LED、従来型の「光学式」などに細分化が進んでいる。従来型のものはもはや主流とは呼べなくなったとも言えるだろう。

レーザー式

  • レーザー式マウスには、少なくとも以下の2種類の方式が存在する。
    1. 基本的には光学式マウスと同じであるが、光源にLEDではなくLaserDiodeを使う方式。
      • レーザー光と通常の光の決定的な違いは、コヒーレンスの有無にある。
      • コヒーレントな光であるレーザー光は、通常の光より細かい模様を浮かび上がらせるので、より解像度(分解能)の高いセンサーを作ることが出来る。
      • 波長が短いため細かい模様を読み取れるとする記事が散見されるが、誤り(実際には光学式でよく使われる赤色光より波長の長い、赤外線を使ったレーザーセンサーが多い)。
      • Avago製レーザーセンサーはこの方式。
      1. 撮影した画像をそのまま比較するのではなく、4つの要素に単純化してから比較する方式もある。
      • Cypress製レーザーセンサーはこの方式。
      • 撮影した画像をそのまま移動判定に使う方式と比べ、解像度の設定が自由に出来る。
    2. レーザーをサーフェイスに発射し、反射して帰ってきた光の波長の変化(ドップラーシフト)から動作を読み取る方式。
      • Philips製デュアルレーザーセンサー(ツインアイレーザー)はこの方式。
      • 基本的には性能よりも小型&省電力性を追求した方式であり、主にワイヤレスマウス向け。
      • Lachesisのように性能を追求した物も存在する。

ボール式

  • フォト・トランジスタ、赤外線LED、スリットホイール、ボールを組み合わせた方式。
  • 厳密にはボールマウスも光学式マウスの一種で、オプト・メカニカル(光機械式)等と呼ばれる。
    • スクロールホイールの回転検知にも、この方式がよく使われる。
  • 解像度や最高認識速度を上げにくく、今となってはゲーム用としては光学式マウス等に大きく劣る。また、レーザーや光学式に比べてパーツが多い分、メンテナンスが面倒、信頼性やコスト、省スペース面で不利、また機構の関係上、作動面の光学的性質を一切問わず(透明なガラスや鏡面上でも動作する)カーソル飛びなども起こらない反面、マウスパッドないし平坦な面が動作に必要かつ垂直な面などイレギュラーな環境では使えない、パッドとの相性によっては空滑りを起こす、などの側面もある。
  • 最も省電力性に優れているが、2010年頃には既にローエンドの製品でも光学式に完全に移行しており、市場で見かけることはほぼ無くなった。
  • さらに昔は機械式のボールマウスも存在したようだ。

その他

  • マウス登場当初の歯車式のものや、省スペース化のためボールの代わりに2枚の円盤を利用した「ディスクエンコーダー」方式のマウス、あるいはワコムの電磁誘導方式ペンタブレットを利用して動作するタブレット専用マウスなども存在する。
  • いずれにせよ、これらについては解像度などの性能面で特に見るべきところはなく、今のところゲーム用として検討する必要は無い。

解像度(分解能, resolution)

  • マウスを1インチ移動した際に発生する読み取りカウント数の事で、単位はDPI(Dots Per Inch)かCPI(Counts Per Inch)。
    • 解像度やDPIは、本来画素の密度を表す単位であり、センサーの場合、分解能・CPIを用いる方が用語としては適切である。実際、センサーメーカー各社は、CPIを単位として用いている。
    • もっとも、解像度・DPIの使用が一般に定着しており、マウスメーカー各社も採用しているため、実際には解像度・DPIの方が用いられることが多い。
  • 例えば400dpiのマウスなら1/400インチ移動毎に1カウント、2000dpiなら1/2000インチ移動毎に1カウントの移動情報が発生する。
  • PC側のセンシティビティ設定が同じであれば、解像度が高いマウスほどカーソルが高速に動作する。
  • 理論上は解像度の高いマウスほど、より小さなマウス操作をPCに伝える事が出来る。
    • 「理論上は」というのは、センサーの読み取り性能の限界を超えた場合には、そもそも正確なデータが取得できず、PCに伝わる情報も不正確なものになるから。解像度はレンズ等により無理に引き上げることも可能なため、解像度からセンサーの読み取り性能を推測するのは危険であることに注意。
    • 「小さなマウス操作をPCに伝える事が出来る」とは、(マウスの)わずかな動きでより多くの移動情報を送信できるという意味であって、カーソルの動きの滑らかさや(画面内での)精密さとは無関係であることに注意。カーソルの動きの滑らかさ等は主にセンシティビティによって決まる。ただし、センシティビティの項で述べるように、高解像度の方がセンシティビティを「nカウント=1ピクセルと表した際にn≧1となる変換比率」、すなわちカーソルが滑らか(精密)に動く値に設定しやすいという実質的関連性はある。
  • 安易に高すぎる解像度に設定すると、ゲームの実装によってはネガティブアクセル(後述)が発生し易くなる。
  • なお、解像度可変のマウスの中には、センサーがハード的に対応していない解像度を、ソフト的に実現しているものがある。
  • この場合、ソフト的に実現している解像度に設定すると、移動情報が2カウント単位になるなど、正確に動かないことがあるので注意。
  • 主なセンサーのハード対応解像度はこちら

画素数

  • 光学式及びレーザー式センサーのCMOSカメラの画素数
  • 一般に画素数が多い方が性能(センサーの読み取り性能)が高い。
  • 16x16画素から30x30画素程度の物が一般的。

フレームレート

  • 光学式及びレーザー式センサーのCMOSカメラが1秒間にイメージを撮影する回数で、単位はFPS(Frames Per Second)。
  • 一般にこの値が大きいほどトラッキング能力(センサーの読み取り性能)が高く、素早いマウスの動きを正確に読み取る事が出来る。

画素処理能力

  • 光学式及びレーザー式センサーのチップが一秒間に処理する画素の総量で、単位はPixels/sec。
  • 画素処理能力(Pixels/sec) = 画素数 * フレームレート の式が成り立つ。
  • 一般にこの数値が大きい方が性能(センサーの読み取り性能)が高い。

マウスレート

  • 1秒間にマウスがPCに情報を送信する回数の事で、単位はHzかReports/sec。
  • この値が高いほどマウスの動作やボタン操作を、より素早くコンピュータに伝える事が出来る。
  • 現在のUSBマウスでは125Hz*1のものが殆どを占めるが、公式に250Hz, 500Hz, 1000Hz等のマウスレートをサポートし、ユーザーが自由にマウスレートを専用ドライバから変更出来る製品も存在する。
  • 125Hzまでしか公式にサポートされていないUSBマウスでも、非公式なオーバークロックにより500Hzや1000Hzに設定出来る物も数多く存在する(設定方法はこちらから)。
  • ロジテック等のゲーム専用マウスには専用ドライバから1000Hzに設定できる。ただしUSBモードはロースピードではなく、フルスピードでの動作
  • マウスレートの変化が感じ取れるかどうかには個人差がある。
  • 安易に高いマウスレートに設定すると、ゲームの実装によってはネガティブアクセル(後述)が発生し易くなる。
  • Windowsの加速をONにした状態では、マウスレートが高いほうが加速の効きが緩やかになる。これは、高レートでは1レポートあたりの送信カウント数が少なくなるため、OSからは見かけ上の速度が遅いように認識されるからと推測される。Windowsの加速機能が、高レートを想定していないことによると考えられる。
  • 意外にポーリングレートとレポートレートが同一視されているがレポートレートはレポートが示すとおりスレーブから見た状態、ポーリングレートとの差異はレポートレートが1:1の関係に対しポーリングレートは1:多といえる。喩えていえば、上司、部下の連絡経路を考えればわかりやすい。

リフトオフ・ディスタンス(lift-off distance)

  • マウスを持ち上げた際にセンサーが移動を読み取れなくなる(読み取りが無効になる)高さの事で、単位は通常ミリメートルで表される。
    • 精密性は期待できないものの「一円玉x枚ぶん」という実測も手近な方法としてよく行われているようだ。ちなみに一円玉の厚さは外周部分で1.5mm前後。
  • この距離が長いと、マウスが接地してなくてもポインタを動かせる=どんな場所でも動くため、通常用途では便利。しかしゲーム用としては余計な動きを必要とする機会が多くなり、正確な動作の妨げにもなるため、これが短い方が使い易い。
  • 一般的に、(短)ボール式<光学式<レーザー式(長)の順に、距離が長くなる。が、最近ではレーザー式でありながら、光学式よりも距離が短いものも存在する。
  • マウスを持ち上げる際には、手首側より指先側の方を高く上げることが多いので、センサー位置が前(指先側)にあるマウスほど、体感lift-off distanceは短くなる。
  • リフトオフ・ディスタンスが長すぎる場合の解決手段として、マウスソール重ね貼りや、センサーのマスク等の方法がとられることがある。この場合、実用上は問題ないことが多いが、理論上はセンサー性能低下につながることに注意。

マウスソール(mouse feet)

  • マウスの底面にあり、実際に接地することが意図されている部分の総称。日本ではsole(靴底)と言うことが多いが、海外ではfeet(足)と表記されることが多い。
  • 通常、底面とは別に、滑りやすい素材が貼られていることが多い。特に、ゲーマー向けマウスの場合、現在発見されている固体中最小の摩擦係数を持つ、テフロン(PTFE)製ソールが貼られていることが多い。
  • その他、サードパーティからもテフロン製ソールが発売されており、耐久性や使用感を考慮して、標準のものから貼り替えるプレーヤーも多い。また、コストの面から、一般のPTFE製摺動材を利用するプレーヤーもいる。
  • 一般的に、サードパーティ製のソールを貼る場合、標準のソールを剥がし、同じ位置に貼る。センサーとマウスパッド(等のサーフェス)が、設計通りの距離を保つようにするためである。ただし、HyperglideのMSマウス用バージョンのように、標準のソールの上に重ね貼りすることを前提にしている場合もある(Logitech用、Razer用は、剥がすことを前提にしている)。
  • また、リフトオフ・ディスタンスの解決手段として、標準のソールに重ね貼りをするケースもある。

スイッチ

マウスのボタンクリックを判定するためのスイッチ。
詳しくはマウスのスイッチを参照。

補正

  • マウスの動きを予想し、微細なブレを修正して、ポインタが滑らかな動きをするように調整する、センサーの機能のこと。海外ではprediction(予測)ということが多い
  • 具体的に確認するには、ペイントの鉛筆ツールなどで、マウスを左右に大きく動かして直線を描いてみるとよい。滑らかな直線が描ければ補正有り、細かく震えた線になれば補正無し、ということになる
    • もっとも、補正の有無・程度を判断するのは、困難な場合も多い。補正がないセンサーでも直線を引くのは不可能ではない上に、補正の程度もマウスによって異なるからである
    • なお、2007年9月13日にSteelSeriesのコメントが発表されるまでは、PCゲーム板時代も含め歴代スレでマウス内部での補正について触れたレスはほとんど存在せず*2、言われるまで気づかなかったプレーヤーが大多数と思われる
    • Diamondback(補正有り, Chameleon Green)とLachesis(補正無し, Phantom White)の比較

      Prediction01.PNG
  • 補正がある方が良いのか、無い方が良いのかについては、定まった見解はない
    • 本来の動きを完全に反映する点において補正無しの方が良いとする意見がある一方、本来意図した動きを実現する点では補正有りの方が優れているとする意見もある
  • 補正の有無は、原則としてセンサーの種類によって決まるが、同じセンサーでもメーカーによって補正の程度が異なるとも言われている。また、中には補正の有無を切り替えできるセンサーもある
  • 主なセンサーの補正の有無はこちら

接続端子

キーボードと同じく、PS/2かUSB、あるいはその両方に対応するものがある(以前はシリアルポートに接続するものもあったが、現在ゲーム用としては無視してよい)。

PS/2の現行のサンプリングレートは多くの場合100Hzであり、USB LowSpeedのポーリング(125Hz)に比べて優位性は無い。マウスドライバによっては最大200Hzをサポートするものもあるが、それでもUSB FullSpeedの5分の1である。

実際に体感できるほどの違いはほぼ見られないものの、USB(の供給電力)の不安定なPCである場合や、あるいは極限まで負荷を下げたい*3場合以外では、キーボードの場合と違い、今ではマウスをPS/2ポートで使うメリットは無いと言っていいだろう。

なお、最近ではUSB2.0が普及し、USB3.0対応製品も販売されているが、これらの最大速度は膨大な量のデータ転送のための規格であり、ポインティングデバイスに使われる見込みも、使うだけのメリットも無い(USB2.0では、割り込みは最高1/8ミリ秒単位でかけられるが、これはマウスのレポートレートとしてはおそらく高すぎる)。

  • そもそもディスプレイのリフレッシュレートが通常60~75Hz、ゲーム用の製品でもせいぜい120Hz前後であり、その2倍を超える頻度でポインタの座標を再設定しても、ほとんど意味をなさない。

基本設定

センシティビティ

  • センシティビティには以下の2種類の意味が存在する。
    1. カーソルの移動速度を決めるパラメーター、またはその設定値
    2. 実際のカーソルの移動速度
    • 前者は後者を決める一要素に過ぎず、後者はマウスの解像度等によって変化する。一般的に「センシの設定」などと言う場合は前者の意味、単に「ローセンシ」「ハイセンシ」という場合は後者の意味である事が多い。以下の文章では断りのない限り前者について扱っている。
  • カーソルの移動量は、マウスから送られた移動情報(カウント数)を一定の比率に従ってカーソルの移動ピクセル数に換算することで決まるが、その比率を決めるのがセンシティビティである。
  • この比率を「nカウント=1ピクセルと表した際にn<1となる変換比率」つまり1カウントで数ピクセル動く比率に設定すると、マウスをどれだけ細かく動かしてもカーソルを1ピクセル単位で動かすことが出来なくなり、カーソルの動きが粗くなる。
  • 逆に「nカウント=1ピクセルと表した際にn≧1となる変換比率」つまり数(または1)カウントで1ピクセル動く比率に設定すれば、カーソルを1ピクセル単位で動かすことができ、カーソルの動きは滑らかになる。
  • 高解像度マウスには、「nカウント=1ピクセルと表した際にn≧1となる変換比率」を維持したまま、高感度なカーソル操作が出来る(後者の意味のセンシティビティを「ハイセンシ」にできる)というメリットがある。
  • 高感度なカーソル操作を好まない場合には、高解像度マウスを使用するメリットはあまりない。
    • このことから、「高解像度マウスは『ローセンシ(後者の意味のセンシティビティ)』プレーヤーには必要ない」などと言われることがある。
  • Windows XPのポインタオプションの場合、速度のつまみを中心にセットすると1カウント=1ピクセルの比率になる。
  • センシティビティをあげるということとマウス自体のカウントをあげることは得られるポインタスピードの結果ということなら同義だが、上記の理由で内容は異なることに注意。
    低カウントのマウスでゲーム中のセンシティビティを高くしてプレイした場合と高カウントのマウスでセンシティビティを低くしてプレイする場合、プレイヤーの動作はほぼ同じになるが、前者の場合はセンシティビティの設定が「nカウント=1ピクセルと表した際にn<1となる変換比率」になるリスクが高くなるという違いがある。

加速度

加速度とは

  • マウスを動かす速度によってポインタの移動量を変更する機能。ゲーム中とOS操作時には、ポインタ取得方法が異なる場合があり単にOSでのポインタ加速を切っただけではゲーム中の加速が切れない場合があるので注意。
  • この機能が有効になっていると、マウスを同じ距離だけ動かす場合でも、高速に動かした場合の方が低速に動かした時よりもポインタの移動量が多くなる。
  • 加速度をオンにすると、物理的なマウスの移動距離と画面上のポインタの移動距離が正比例しなくなる為、FPSプレイヤーはオフにしている人が多いが、一部のゲームのプレイヤー(Quakeシリーズ等)には加速度を好む人も多いので、加速度は一概に悪いとは言えず、好みであれば使用しても問題ないだろう。

    カウンターストライク1.6ではゲーム中デフォルトで加速ONになっている。
  • Windows XPでは標準で加速度が有効になっているが(無効化方法は下記を参照)、この加速機能は最近市販されているマウスでは正常に動作しない事があり、1カウント=1ピクセル設定でマウスをゆっくり斜めに移動させた場合に、ポインタがふらつく等の症状が確認出来る。Microsoftのマウスでさえ正常動作しない物もあるので、恐らくWindows XPの加速機能にはバグがあるのではないかと思われる。
  • Windows XPのマウス加速度アルゴリズムについては以下を参照。

    http://www.microsoft.com/whdc/device/input/pointer-bal.mspx?pf=true
  • Windows XPの加速度カーブの調整については以下を参照。

    http://07.net/mouse/
  • Logitechのマウスは、SetPointなどの専用ツールに独自の加速度設定を持っているので、そちらを使用した方が良いだろう。

加速度を無効にする

  • Windows XP
    • Windowsのコントロールパネルからマウスのプロパティを開き、ポインタオプションのタブを選択する。そして「ポインタの精度を高める」のチェックボックスからチェックを外せばWindowsの加速度を無効にする事が出来る。
    • ちなみに、この項目は加速度の設定に影響するだけで、その他の物(例えばOSやドライバのマウスポインタ計算精度など)にはなんら影響は与えない。むしろ、チェックを外した状態の方がポインタのふらつき等が起こらず精度が高いくらいである。「ポインタの精度を高める」という名前については、加速度が有効な状態の方が人間が操作する精度が高まるというMicrosoftの考え方による物と思われる。
    • 他にもレジストリエディタ等を用いて、加速カーブ(SmoothMouseXCurve等)を直線にして加速度を擬似的にオフにする方法もあるが、前述したポインタがふらつく等の症状がそのまま残り、入力精度も下がるため行うべきではない。
    • もっとも、上述のようにQUAKE系エンジン採用ゲーム等の一部ゲームでは、起動時にWindowsの加速設定をオンにする(XPでは「ポインタの精度を高める」にチェックが入る)ものがある。この場合、レジストリをいじることで加速設定をオンにしても加速が働かないようにするか、起動時のコマンドライン等(下記参照)でゲームの加速オン機能を無効化することが必要になる。
  • 初代Half-Lifeエンジンのゲーム(Counter Strike等)
    -noforcempsd -noforcemparms -noforcemaccel
    これらを起動オプションに指定して起動する。

    ゲームのショートカットを右クリックしてプロパティ→ショートカット

    リンク先の
    "C:\Program Files\example\test.exe"
    となっている所を
    "C:\Program Files\example\test.exe" -noforcempsd -noforcemparms -noforcemaccel
    のようにする。

    既に何か後ろについているときもありますが、その時は消さずに追加する形で付け加えましょう。
  • Windows 7
    • XPと同様に、コントロールパネルからマウスのプロパティを開き、ポインタオプションのタブを選択する。そして「ポインターの精度を高める」のチェックボックスからチェックを外せばWindowsの加速度を無効にする事が出来る。
    • レジストリを弄らないと加速が切れないという巷の噂がありますが、ドライバが悪さしている可能性があります。
      基本的にはチェック外すだけで加速は無効となります。

マウスレート変更

設定ツール

※注意: 以下で紹介するツールは、WindowsのUSBドライバを改造する事で仕様外のマウスレートを使用出来るようにする。本来Low-speed USB通信では100Hz前後までしか許可されていない為、以下で紹介するツールなどでマウスレートを変更しても、全てのマウスで正常に動作するとは限らない。マウスによっては想定外の動作を引き起こしたり、最悪マウスを壊す危険性やメーカー保証を無効にする可能性もある。また、マウス以外のLow-speed USBデバイス(キーボードなど)のポーリングレートにも影響が出る可能性も考えられる。以下のツールの使用やマウスレート変更は、全て自己責任で行うこと。不安のある人はやめておいた方が無難だろう。

公式に125HzのマウスレートまでしかサポートされていないUSBマウスを、非公式にそれ以上のマウスレートに変更するツールを紹介する。マウス自体が125Hz以上のマウスレートを最初からサポートしている場合には、これらのツールは使わずに、必ず専用のドライバから設定すること。

http://www.softpedia.com/get/Tweak/System-Tweak/USB-Mouserate-switcher.shtml



もしくは以下でダウンロードしたusbport.sysを、セーフモードで起動してから、

\WINDOWS\system32\drivers\usbport.sys

と入れ替える(3スレ96より)

http://razer.tigga.org/phpBB2/viewtopic.php?t=3290

http://razerblueprints.net/index.php/View-document-details/79-Win-XP-USB-Patcher.html



あるいは以下の方法で。

[マウス]入力装置ForPCActionGamer[キーボード]3

60 名前:名無しさん@お腹いっぱい。 投稿日:2005/10/31(月) 17:50:36 yOQBXcHb
USBマウスのマウスレート(ポーリングレート)の変更方法の最新版
Windows 2000の人はUSBHzを使うべし
ここからダウンロードできる模様
ttp://pulverized.blog4.fc2.com/blog-entry-25.html
Windows 2000用: usb_filter_2k.mp3というのをダウンロード、拡張子をzipに変えて解凍
To see if the USBHz driver is active,
you can go to device manager and under Human Interface Devices will be your mouse,
right click the entry and do properties, then look at the driver details on the drivers tab.
It should show for example D:\WINDOWS\System32\Drivers\USBHz
Windows XPの人は下の2つのうち好きなのを使うべし(どっちもやってることは同じ)
Windows XP/2003 USB Mouserate Switcher 1.1
ttp://www.majorgeeks.com/download.php?det=4469
XP-USB-Patcher
ttp://razer.tigga.org/phpBB2/viewtopic.php?t=3290
この2つは両方ともWindows XPのどのバージョンでも使用可能。
セーフモードでの使用を推奨してはいるが、実際は普通にソフトを
起動して設定して再起動するだけでOK。
書き換えた後USBマウスを抜き差しするだけでOKとも。
%SystemRoot%\System32\drivers\usbport.sys
のバイナリを書き換える作業を行う。
XP-USB-Patcherの方は、自動でバックアップを取ってくれるが
起動時にusbport.sysをいちいち指定しなければいけないことと、
デフォルトの125Hzのusbport.sysを指定しないといけないのが面倒。
(例えば250Hzから500Hzに変更する時に250Hzのusbport.sysをでは駄目で
usbport.sys.bakをusbport.sysに戻さなくてはならない)
Windows XP/2003 USB Mouserate Switcher 1.1の方は、バックアップは
取ってくれないが125Hz,250Hz,500Hz,1000Hzの間を自由に設定変更ができる。
最初にusbport.sysを手動でバックアップしておけばいいのでこちらを推奨。

winxp SP3対応usbport.sys書き換えツール
http://wikiwiki.jp/fpag/?plugin=attach&pcmd=open&file=usb_patch_no_CRC_check.zip&refer=MOUSE%20TIPS


Vista/Win7においてマウスレートを変更する
http://www.ngohq.com/news/15043-how-to-increase-usb-sample-rate-in-windows-vista-7-a.html
http://www.ngohq.com/home.php?page=dseo
1. 情報元↑からhidusbf.zip、Driver Signature Enforcement Overriderをダウンロード
2. 64bitOSのみdseo13b.exe起動→Next→Yes→Enable Test Mode→Next→OK→再起動
3. hidusbf.zipを解凍し、DRIVERフォルダのSetup.exeを起動。
Filter On Deviceにチェックを入れすぐ横にあるメニューから設定したいレートを選び、「Install Service」をクリック。
4. dseo13b.exe起動→Sign a System File→Next表示された入力欄に「C:\Windows\System32\Drivers\HIDUSBF.sys」と入力しOKをクリック後再起動。
5. Windowsをリブートし、マウスレートチェッカー等で動作を確認。(64bit限定、デスクトップのテストモード表示が気になる場合RemoveWatermarkX64.exeで消す)
http://deepxw.blogspot.com/2008/12/remove-watermark-v03-build-20081210.html

64bitOSはドライバにデジタル署名が無いと動作しないので、dseo13b.exeで署名を付けてテストモードにするか起動時にF8→ドライバ署名の強制を無効(ReadyDriverPlusで自動化可能)にする必要があります。
テストモードは一部のBDが再生不可、ドライバ署名無効はOS起動時間5秒前後長くなる、セーフモード時にマウス動かない場合がある等一長一短です。




旧方法、OS起動不可の可能性有
・Windows Vistaでマウスレートを変更する手順

1. Windows起動時にF8を押してSafe Modeで立ち上げる。

2. コマンドプロンプトを起動して以下を実行。

bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS

3. 同様に以下を実行。

takeown /f "C:\Windows\System32\Drivers\usbport.sys"

4. 同様に以下を実行。

Icacls "C:\Windows\System32\Drivers\usbport.sys" /grant username:(D,WO)

(Usernameは現ログオン状態のAdmin権限のあるアカウントネームを入力)

5. C:\Windows\System32\Drivers を開いて元のusbport.sysをバックアップ。

6. usbport.sysを右クリックし、プロパティ→セキュリティタブを開いて4で入力したアカウントの「フルコントロール」にチェックを入れる。

7. 書き換えたいusbport.sysを上書きコピーする。

8. Windowsをリブートし、マウスレートチェッカー等で動作を確認。

測定ツール

http://razerblueprints.net/index.php/View-document-details/18-DirectX-mouserate-checker.html

上のページの「DirectX mouserate checker」。DirectInputから測定するため、より正確な値が出るとされる。

なお、「Mouserate cheker」は従来の測定ツール。

シグマAPOシステム販売株式会社より500リポートレートマウスSLCOが発売されているため測定ツールも配布されている。以下よりダウンロード可能

http://www.sigma-apo.co.jp/img/MouseTest.exe

ネガティブアクセラレーション問題*4

ネガティブアクセラレーション問題とは

  • マウスを高速に動かしたとき、マウスポインタの動きが遅くなってしまう問題。
  • マウスを低速で動かしたときと、高速で動かしたときに、同じ距離マウスを動かしてもカーソルの移動距離が一致しない事で確認できる。
  • マウスとPC間におけるデータの飽和。マウスの解像度、ビットレート、マウスレートに依存する。
  • マウス内部におけるデータの飽和。マウスの最大スループットに依存する。
  • OSやアプリケーションによる制限。
    • マウスポインタシステムによる制限。画面解像度、マウス解像度、ゲームのフレームレートに依存する。あらゆるOSで起こりうる。
    • DirectInput使用時におけるバッファの飽和(Windows限定)。ゲームによるDirectInputの利用方法やバッファ量設定、ゲームのフレームレート、マウスレートに依存する。

センサーの読み取り性能による制限

  • マウスをある一定以上速く動かすと、カーソルが逆方向に動いたり、カーソルが暴れ出すようなことがある。
  • この現象はセンサーの性能に依存し、一般にレーザーセンサーでは比較的遅い速度でも発生することが知られている
  • 全く意図しない動きをするため、ネガティブアクセルの中でも一番困る現象である。
  • skipping 、pixel jumpingなどと表現されることもある。
  • 相性の良いマウスマットを使用することで、改善することがある。
  • 主なマウスのセンサーの読み取り性能については、各マウスの速度特性(ESReality MouseScore 2007データ)を参照のこと。

マウスとPC間におけるデータの飽和

  • マウスをある一定以上速く動かすと、それ以上速度が上がらなくなることがある。
  • 飽和する速度は、マウスの解像度、ビットレート、マウスレートに依存し、以下の式で表される。

    速度max=マウスレートx(2^ビットレート/2-1)/解像度
  • たとえば、マウスレート125[Hz]、ビットレート8[bit]、解像度400[dpi]の場合、

    125x127/400=39.7[inch/s]≒1[m/s]
    となる。
  • したがって、マウスを高解像度設定にすると、ネガティブアクセルが起きやすいことに注意。
  • マウスレートを高くすることで回避できるが、DirectInput使用時の問題(後述)にも関係するため注意が必要。

マウス内部におけるデータの飽和

  • マウスの高解像度化(高cpi化)に伴い、マウス内部でデータ飽和するケースがあることが知られている*5。これはマウス固有のスループット限界によるものであり、前述の式に関わらず、ネガティブアクセラレーションの原因となる。
  • このマウス内部のデータ飽和によるネガティブアクセラレーションは、センサーがハード的に対応している低CPIを使用し且つ高マウスレートに設定することで、回避することが出来る。しかし、メーカー製ドライバの中には、CPI設定にかかわらずセンサーの最高CPIを常に使用し低CPIはドライバで実現しているものもあるらしく、この場合には、設定CPIにかかわらず一定の速度でネガティブアクセラレーションが発生することになる。
  • したがって、マウス内部でのデータ飽和によるネガティブアクセラレーションを確実に防止するには、

    1. センサーがハード的に対応している低CPIを使用

    2. 高マウスレートを使用*6

    3. 標準ドライバを使用

    の各条件を満たす必要がある。もっとも、これは多ボタン対応などメーカー製ドライバの提供する機能とのトレードオフでもあり、マウス内部のデータ飽和が問題となる速度はローセンシプレーヤーでないと使わないような高速域であること、そもそもその領域では一部の高性能センサーを除きセンサーの性能限界を超えかねないことを考えると、万人に必須と言えるものではないことに注意。

OSやアプリケーションによる制限

マウスポインタシステムによる制限

  • OSのマウスポインタシステムを利用してマウスの移動情報を取得しているゲーム(Counter Strike 1.6やWolfenstein: Enemy Territoryなど)では、マウスを高速に動かした時にネガティブアクセルが発生する事がある。特にマウス解像度が高く設定されている場合や、画面解像度やゲームのフレームレートが低すぎる場合に起こりやすい。
  • これらのゲームではOSのマウスポインタは非表示にされているが、実は描画されていないだけでポインタは存在しているのである。まず、ゲームはOSのマウスポインタを画面の中心にセットする。そして次のフレームで、マウスポインタが画面中心からどれくらい動かされたかを見る事で移動量を読み取る。その後ゲームは再びポインタの位置を画面中心にセットし直す。これを毎フレーム繰り返す事でマウスの移動情報を取得している。
  • この方式の場合にネガティブアクセルが発生するのは、マウスポインタが画面の端に到達してしまった場合である。通常、OSのマウスポインタは画面の外にはみ出す事が許されていないので、マウスポインタが画面の端に到達した時点で、それ以上その方向にマウスポインタが進む事が出来なくなるからである。
  • このネガティブアクセルを回避する方法としては、画面解像度を上げる事で画面の中心から端までのピクセル数を増やす事や、ゲームのフレームレートを上げる事でポインタの読み取りとポインタを画面中心にセットし直す頻度を上げる事や、マウス解像度かセンシティビティ(ゲームのではなくOS上の設定)を下げる事でポインタの移動距離自体を減らす事などが考えられる。なお、この方式の場合にはマウスレートの設定はネガティブアクセルには影響しないので、好みの設定を使用しても大丈夫である。

DirectInput使用時におけるバッファの飽和(Windows限定)

  • マウス入力にDirectInputを利用するゲームの場合、バッファ量不足によってネガティブアクセルが発生する事がある。
    • ゲームがDirectInputの「バッファリングデータ」を利用しており、そのバッファ数が充分に用意されていない場合や、ゲームのフレームレートが低すぎる場合、またマウスレート設定が高すぎる事などが考えられる。
    • それに対して、ゲームがDirectInputの別の入力方式である「直接データ」を利用していればネガティブアクセルはまず起こらないと考えて良い。
    • ネガティブアクセルが起きた場合の対処法としては、ゲームのフレームレートを上げる事で入力を読み取ってバッファを空にする頻度を上げる事や、マウスレート設定を下げる事によってバッファに溜まるデータの発生数自体を減らす事などが考えられる。
  • 以下はDirectInput利用時にネガティブアクセルが発生する原因などの説明である。
    • DirectInputのバッファリングデータを利用してマウス入力を行う場合
      • バッファリングデータとは通常は16個程度(マウスの16レポート分の入力に対応し、マウスの1レポート毎に必ず1つ消費する)のバッファを用意し、そこにマウスから入力された各種データ(X/Y移動情報、ホイール回転情報、ボタン情報、タイムスタンプ等)を無加工のままバッファに格納していく方法である。通常はゲームがバッファからデータを取得した時点でバッファは空になり、再びDirectInputがそこにデータを格納する事が出来るようになる。
      • しかし、ゲームがバッファからデータを取り出す前に全てのバッファにデータが格納されてしまった場合、DirectInputはバッファに新たなデータを書き込む事が出来なくなるので、その間に発生したマウスからの入力情報は保存されずに全て破棄されてしまう。これがネガティブアクセルが発生する原因である。
      • バッファサイズはアプリケーションが自由に決めて、DirectInput側で用意して貰う。サンプルコードの多くが16個分に定義されているので16が最もポピュラーな数値だと思われるが、8や32などに定義されているゲームもある。
      • 通常、多くのゲームは描画のフレームレートと入力のフレームレートが一致しているので、「ゲームのフレームレート * DirectInputのバッファ量」 を計算する事で、何Hzのマウスレートまでが正常に読み取れるかが分かる。
      • 注意しなければならないのは、バッファ数はあくまで「マウスの何レポート分の入力を保持できるか」を示す物であり、「何カウント分の移動情報を溜め込めるか」には対応していない。つまり、マウスが1回のレポートで100カウント移動する場合でも1カウントしか移動しない場合でも、同じようにバッファを1つ消費してしまうのである。
      • バッファリングデータの大きなメリットとしては、ボタンが連打された場合などに発生する全てのON/OFFの情報とそのタイムスタンプがバッファに書き込まれる為、情報をロスする事がなく正確にボタンストロークをゲームに取り込める事が挙げられる。
    • DirectInputの直接データを利用してマウス入力を行う場合
      • 直接データというデータからマウスの移動情報を取得する場合には、前回DirectInputから直接データを取得した以後に発生した全てのマウスの移動情報を合算した単一のデータだけが取得出来る。
      • 例えばマウスを左に3カウント動かし次に右に2カウント動かした場合、バッファリングデータの場合にはその両方のデータがアプリケーションに渡されるが、直接データの場合には合算した値、つまり最終的に左に1カウント動いたという単一の情報のみがアプリケーションに渡される。
      • 直接データの各軸の情報は16bit(+/-32767)で保存されており、この値より高いカウント数が溜め込まれない限りネガティブアクセルは起こらない。また、マウスレート設定には影響しない。
      • 直接データの欠点はボタンストロークの再現が出来ない事である。ボタンのデータを直接データで取得した場合、今現在そのボタンが押されているか離されているかという単一の情報しか取得出来ず、過去にどういったボタンストロークが繰り返されたかなどの情報は取得できない。
    • 実アプリケーションの実装
      • 以下はソースコードレベルで確認が取れた物である。
      • バッファリングデータの使用が確認出来ているゲームには、初代Quakeの改造版としては最も有名なfuhquakeと、Quake2を改造したR1Q2などが挙げられる。R1Q2は直接データを使う設定にも出来るが、ボタンの入力にも直接データが使用されるようになる為に使い物にならない。
      • Quake3では移動データの読み取りには直接データを使用し、ボタン入力の読み取りにはバッファリングデータを使用している。この実装方法はFPSジャンルのゲームには最適と言える。
      • このように一口にDirectInputと言っても、実装方法が各アプリケーション毎に異なる事が考えられる為、マウスレートやゲームのフレームレート設定には注意が必要である。特に高いマウスレート設定を使用したい場合には、各自がプレイするゲームで本当にネガティブアクセルが起こっていないかをテストしてから使用した方が良いだろう。

3Dゲーム操作に必要なマウス解像度

  • FPSジャンル及びFPSと同様のマウス操作形式のゲームに限定し、必要なマウス解像度を計算する方法を紹介する。
  • 海外等でよく使用される計算方法では、例えば1024x768の画面解像度でFOVが90の場合、水平方向の1024ピクセルで90度の視野角を描画している為、その4倍の4096ピクセルで360度を描画すると考えられている。よって、360度一周の為に4096カウントのマウス移動を費やせば、繊細なマウス操作と滑らかな描画が得られると考えられているようだ(ESRealityの該当記事)。
  • しかし、上記の計算方法は視界が透視投影されている事を考慮しておらず、計算によって得られた値は何の意味も持たない。
  • 以下に、画面解像度とFOVから、滑らかに画面を一周させる為に必要なマウスカウント数を導き出す正しい計算式を示す。Cは一周の回転に必要なカウント数。Rは画面解像度。FOVは視野角。
    C = R*pi/tan(pi/360*FOV)
  • この計算で得られた値を、360度回転する為に必要なマウスの移動距離(インチ。1インチ=2.54cm)で割れば必要なDPIが分かる。以下に幾つかの具体例を示す。
    1. 1024x768, FOV = 90 の場合:
      1024*pi/tan(pi/360*90) ≒ 3217カウント
50cm(19.6インチ)のマウス移動で360度の画面回転をするプレイヤー:
3217 / 19.6 ≒ 164 DPI必要
10cm(3.9インチ)のマウス移動で360度の画面回転をするプレイヤー:
3217 / 3.9 ≒ 825 DPI必要
  1. 1024x768, FOV = 120 の場合:
    1024*pi/tan(pi/360*120) ≒ 1857カウント
50cm(19.6インチ)のマウス移動で360度の画面回転をするプレイヤー:
1857 / 19.6 ≒ 95 DPI必要
10cm(3.9インチ)のマウス移動で360度の画面回転をするプレイヤー:
1857 / 3.9 ≒ 476 DPI必要
  1. 1024x768 4x FSAA (Multisampling), FOV = 90 の場合:
    2048*pi/tan(pi/360*90)  ≒ 6434カウント
50cm(19.6インチ)のマウス移動で360度の画面回転をするプレイヤー:
6434 / 19.6 ≒ 328 DPI必要
10cm(3.9インチ)のマウス移動で360度の画面回転をするプレイヤー:
6434 / 3.9 ≒ 1650 DPI必要
  • このように、分解能の観点から言えば、必要とされるDPIは画面解像度やFOVやプレイスタイル(感度)によって大きく変わる事が分かる。
  • しかし、幾ら高い画面解像度を利用している場合でも、本当に1600 DPIや2000 DPIなどの高解像度マウスが必要になるのかについては議論の余地がある。例えば、仮に4億x3億ピクセルの画面解像度があったとしても、100万DPIのマウスが必要になるとは言えないだろう。人間が差異を感じ取る能力に限界があるからである。
  • その逆に、本当に400 DPIなどの低解像度マウスで充分なのかについても議論の余地がある。例えば、低い画面解像度では描画に反映されないほどの僅かなマウス操作をした場合でも、ゲームプログラム内の回転動作には反映されるので、解像度が高いマウスを使用した方が、より繊細な操作を入力出来るからである。
  • 今回はあくまで描画能力(解像能力)の観点から必要なDPIを計算しただけであり、その点は特に留意しておいて貰いたい。
  • 参考: http://razerblueprints.net/index.php?option=com_smf&Itemid=99&topic=1311.0

光学マウスとレーザーマウス

  • レーザーマウスは従来のLED光源の光学マウスと比較した場合に、光沢面の読み取りが得意なのが特徴だが、必ずしも従来の光学マウスより性能が上とは限らない。
  • まず、マウスを高速に動かした際のカーソルの追従性が悪い事が挙げられる。具体的には、マウスを低速で動かした時と高速で動かした時に、同じ距離だけマウスを動かしてもカーソルの移動距離が一致せず、高速に動かした方がカーソルの移動量が少なくなってしまう(ネガティブアクセラレーション問題)。
  • マウスの性能として、物理的移動距離とカーソルの移動距離の一致は、素早く正確な操作を求められるアクションゲームにおいて特に重要な要素であり、無視することは出来ないであろう。
  • この現象はマウスパッドにもよっても程度が変わるので、この事がレーザーマウスはマウスパッドとの相性が激しいと言われる原因の一つになっている。また、相性の良いマウスパッドを使用した場合でも、ある程度の不一致が出てしまうのがレーザーマウスの現状である。
  • なお、仕様上の追従性能については、レーザーセンサーも光学式と同等の数値となっている。また、ネガティブアクセラレーション問題については、前述のように、ゲーム中のポインタ実装に問題がある場合もある。しかし、2008年1月現在で最新のレーザーセンサーを、ポインタ実装の問題を排除した条件下で使用しても、未だ光学式の最新世代に追従性能の面では及んでいない。
    • もっとも、Lachesis搭載の3G Laser Sensorに関しては、追従性能の面で光学式と同等以上の性能を発揮するようである。ただし、このセンサーは従来のレーザーセンサーおよび光学式センサーとは根本的に動作原理が異なるため、単純に比較は出来ない。
  • 次に、マウスを空中に持ち上げてる最中でも動作を読み取ってしまう問題もある(lift-off distanceの問題)。マウスがマウスパッドからはみ出しそうになった際に、マウスを持ち上げて位置を戻す事があるが、この時に空中で動作を読み取りカーソルを引きずるような挙動をする。特にレーザーマウスはセンサーの読み取りを斜め方向から行う物が多い為、持ち上げた際にカーソルがどうしても動いてしまう。次項「レーザーマウスを使いやすくする裏技」で、ある程度解消できるが、限界もある。
    • もっとも、最近のレーザーセンサーでは、この問題の解決が図られているものもある。例えば、Ikari LaserLachesisなどでは、一般的な光学式よりもリフトオフディスタンスは短くなっている。
    • また、lift-off distanceの問題以外にも、レーザーセンサーでは、持ち上げたときにカーソルがふらつくという問題もある。一般にレーザーセンサーの方が光学式センサーより高cpiであるため目立つということもあるが、同cpiに設定した場合でも、浮かせた場合のカーソルのふらつきはレーザーセンサーの方が大きくなっている。
  • これらの理由により、良質なマウスマットを用意できる者にとっては、レーザーマウスより従来の光学マウスの方が性能が良いとする意見が多い。いずれにせよ、今後のレーザーマウスの性能に掛かっており、議論の余地はあろう。
  • 参考

裏技集

レーザーマウスを使いやすくする裏技

  • マウスを持ち上げる際に、意図せずポインタが動いてしまうことがある。
  • レーザー照射部の上側にマスキングテープを貼る事によって、この現象をある程度改善する事が出来る。
  • 詳細は以下のURLを参照:

    http://one.sblog.jp/sokei/log/eid9.html
  • なお、理論的にはセンサーの読み取り性能とのトレードオフであることに注意。

マウスを省電力で使う裏技

  • 通常、殆どの光学マウスは省電力モードで動作しており、光源のLEDやLaserは必要な時のみ点灯状態になる。
    • 人間の目に見えないほど速い周期でLEDのON/OFFを繰り返す事で節電をしている。
    • LEDがONになっている時間の割合はサーフェイスの色(明るさ)で決まり、明るいサーフェイスほどLEDがONになる時間の割合が少ない。
  • 下記の表はAvago Application Note 5034 (ADNS-3060 Power Saving Methodology) に記載されている、ADNS3060/3080センサーが省電力モードで動いている時に必要とされるLEDの発光サイクルである。
    • 白紙上では僅か29%の時間しかLEDが発光しないのに対して、Black Copy上では93%の時間発光する必要がある。よって、ワイヤレスマウスのバッテリーの持ちに不満を抱えている場合には、白紙などを使ってバッテリーの持ちが改善されるか試してみると良いだろう。
    • ちなみに、Razer製マウスやLogitechの一部のハイエンド製品(G3 Optical, G3 Laser, G5, G7等)ではLEDをDCモード(Always ON)で駆動しているので、常に(100%の時間)点灯する。DCモードではスリープモードを無効にするだけではなく、LEDの高速点滅による省電力機能まで無効にするのである。

      Avago Application Note 5034
      Table 2. Duty Cycle of LED for different surfaces.
      SurfacesDuty Cycle
      White Paper29 %
      Manila32 %
      Wood62 %
      Black Walnut79 %
      Burl92 %
      Black Copy93 %

Intelli Pointを他社のマウスで使う裏技

例:X-718Laser Mouse 6000に見せかける場合

  1. デバイスマネージャー等でX-718のVIDとPIDを調べる。
    HID準拠マウス→詳細->ハードウェアIDに、"HID\VID_09DA&PID_000E&REV_0001"とあるはず。
  2. "Program Files\Microsoft IntelliPoint"にある、"point32k.inf"(Versionによってはpoint32.inf,pnt32uk.inf,pnt32uw.inf,)を開く。
  3. 以下のように、Laser Mouse 6000の項目を参考にVIDとPIDを1.で調べtたものに書き換える。
    %HID\Vid_045E&Pid_00F0.DeviceDesc%=HID_Filtr_Inst, HID\Vid_045E&Pid_00F0
    %HID\Vid_09DA&Pid_000E.DeviceDesc%=HID_Filtr_Inst, HID\Vid_09DA&Pid_000E
HID\Vid_045E&Pid_00F0.DeviceDesc="Microsoft USB Laser Mouse 6000 (IntelliPoint)"
HID\Vid_09DA&Pid_000E.DeviceDesc="Microsoft USB Laser Mouse 6000 (IntelliPoint)"
  1. デバイスマネージャ等でドライバの更新。point32k.infを開く。この際、ipoint.exeを終了しておくこと。

※デバイス一覧に出てこない場合は、いったんデバイスを「削除」、「ハードウェア変更のスキャン」をしてから、ドライバの「更新」で、.infを開けば一覧に出てくる

プレイスタイル

反射神経テスト

マウスやマウスパッドを換えたら試してみるといいでしょう。

関係ありそうなURL貼りまくり

リンクも参考にどうぞ


*1 実際のUSB LowSpeedの定義上の転送周期は10~255msという事なのだが、実際の動作は「2のべき乗で、設定されたbIntervalよりも小さい」周期が適用され、つまり10msに設定されたマウスだと8ms、125Hzとなる
*2 SteelSeriesのコメント以前に、内部での補正を指摘したと思われる数少ないレスとして、2007年7月23日の[マウス]入力装置ForPCActionGamer[キーボード]15, >>417が挙げられる。
*3 PS/2は基本的にポーリングを行わず、必要に応じて割り込みをかける。入力がなければ割り込みはかからない
*4 原因ごとにskipping,pixel jumping,negative acceleration,random movementsなど種々の呼び名があり、厳密に言えば、negative accelerationとは「マウスとPC間におけるデータの飽和」による現象のことを指す(原理的には、OSやアプリケーションによる制限に起因する現象も含まれると思われる)。しかし、日本では高速でマウスを動かした際のカーソルの挙動異常を、まとめて「ネガティブアクセラレーション」と呼ぶことがあるため、本項では一括してネガティブアクセラレーションと表記した。なお、Logitech社日本法人ロジクール社では「ネガティブアクセルレーション」との用語を使っている。
*5 例として、Lachesisは、2700cpi前後より高cpiに設定すると、センサーの性能限界に達する前にスループット限界に達することが、Razerによって言明されている(http://blog.razerzone.com/2007/10/30/the-razer-3g-laser-technology-%E2%80%93-our-statement/)。
*6 ただし、最近の標準マウスドライバは、125Hzの低マウスレートでもデータ飽和が起きにくいとの報告もある。ビットレートが変わったのか等、詳細は未確認。