文書番号: 102989 - 最終更新日: 2004年9月6日 - リビジョン: 3.1

[REG] デバイス ドライバ エントリ、パート 2 -- マウス/キーボード ドライバ

この記事は、以前は次の ID で公開されていました: JP102989
この資料では、マウスとキーボードのドライバに関するレジストリのエントリについて、説明しています。この資料の後半は、資料「デバイス ドライバ エントリ、パート 3」で説明されています。

次の内容について説明します。
  • Microsoft バス マウス ポート ドライバ
  • Intel 8042 ポート ドライバ
  • Microsoft InPort バス マウス ポート ドライバ
デバイス ドライバ エントリに関する一連の資料は、次の 5 つのパートから構成されています。

「パート 1: デバイス ドライバ エントリ」 この資料には、次の項目が含まれます。
  • ファイル システム ドライバとリコグナイザ
  • ディスク、シリアル ポートとパラレル ポート
「パート 2: マウスとキーボードのエントリ」

「パート 3: マウスとキーボードのエントリ (続き)」 この資料には、次の項目が含まれます。
  • Microsoft シリアル マウス ポート ドライバ
  • マウス クラス ドライバ
  • キーボード クラス ドライバ
  • キーボードとマウスに対するデバイス マップ エントリ
「パート 4: SCSI ミニポート エントリ」

「パート 5: サウンド カードとビデオ デバイス ドライバ エントリ」


注 : WinMSD プログラムの [デバイス] ボタンをクリックすると、これらのデバイス ドライバの現在の設定を表示できます。

マウス ドライバとキーボード ドライバのエントリ

ここでは、マウスとキーボードのクラス、およびポート ドライバに関するパラメータについて説明します。次のものが含まれます。
Busmouse          Inport          Mouclass
i8042             Kbdclass        Sermouse

Microsoft バス マウス ポート ドライバ エントリ

次で説明する Microsoft バス マウスに関する値のエントリは、次のサブキーにあります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Busmouse\Parameters
MouseDataQueueSize REG_DWORD >= 0x1
ページ プール外で、ドライバによって内部的にバッファリングされるマウス イベントの数を指定します。バイト数で指定する内部バッファの割り当てサイズは、この値に MOUSE_INPUT_DATA 構造体のサイズ (NTDDMOU.H で定義されています) を掛けたものになります。イベント ビューアのシステム ログに、次のバス マウスのメッセージが頻繁に含まれている場合は、この値を増やすことを検討してください。"The ring buffer that stores incoming mouse data has overflowed (buffer size is configurable via the Registry)."
デフォルト値 : 0x64 (100)

NumberOfButtons REG_DWORD >= 0x1
バス マウスのボタンの数を指定します。起動時に検出されたボタン数と、レジストリで指定されているボタン数が違っている場合、この値が優先されます。
デフォルト値 : 0x2 (2 ボタン)

PointerDeviceBaseName REG_SZ ベース ポート デバイス名
バス マウス ポート デバイス ドライバによって作成されるデバイス オブジェクトのベース名を指定します。また、ポインタ クラス ドライバがポインタ ポート デバイス オブジェクトを検出できるように、デバイス ドライバはデバイス オブジェクトに関する情報を HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap に書き込みます。
デフォルト値 : PointerPort

Intel 8042 ポート ドライバ エントリ

i8042prt ドライバは、Intel 8042 コントローラでのキーボードとマウス ポート マウス (PS/2 互換マウスとも呼ばれます) の処理を行います。次で説明する値は、次のサブキーにあります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
KeyboardDataQueueSize REG_DWORD >= 0x1
ページ プール外で、ドライバによって内部的にバッファリングされるキーボード イベントの数を指定します。バイト数で指定する内部バッファの割り当てサイズは、この値に KEYBOARD_INPUT_DATA 構造体のサイズ (NTDDKBD.H で定義されています) を掛けたものになります。イベント ビューアのシステム ログに、次の i8042prt のメッセージが記録されている場合は、この値を増やすことを検討してください。"The ring buffer that stores incoming keyboard data has overflowed (buffer size is configurable via the Registry)."
デフォルト値 : 0x64 (100)

KeyboardDeviceBaseName REG_SZ ベース キーボード ポート デバイス名
i8042prt デバイス ドライバによって作成されるキーボード デバイス オブジェクトのベース名を指定します。また、キーボード クラス ドライバがキーボード ポート デバイス オブジェクトを検出できるように、デバイス ドライバはデバイス オブジェクトに関する情報を HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap に書き込みます。
デフォルト値 : KeyboardPort

MouseDataQueueSize REG_DWORD >= 0x1
ページ プール外で、ドライバによって内部的にバッファリングされるマウス イベントの数を指定します。イベント ビューアのシステム ログに、次の i8042prt のメッセージが記録されている場合は、この値を増やすことを検討してください。"The ring buffer that stores incoming mouse data has overflowed (buffer size is configurable via the Registry)."
デフォルト値 : 0x64 (100)

MouseResolution REG_DWORD マウスの分解能指定子
マウス ポート マウスの分解能を指定します。2 の MouseResolution のべき乗値がカウント/mm になります。
デフォルト値 : 0x3

MouseSynchIn100ns REG_DWORD 時間、100 ナノ秒単位
新しいマウス パケットの開始を示す次のマウス割り込みまでの待ち時間を指定します (不完全なパケットは破棄されます)。これにより、マウス割り込みが失われた際に、ドライバはマウス パケットの内部状態とハードウェアの状態の同期を取ることができます。ランダムなマウス イベントが発生しているかのように、システムが動作する場合 (たとえば、マウスのボタンが押されていないのにボタンのクリックが発生するといった場合) は、この値を変更することを検討してください。
デフォルト値 : 20,000,000 (2 秒)

NumberOfButtons REG_DWORD >= 0x1
マウス ポート マウスのボタンの数を指定します。起動時に検出されたボタン数と、レジストリで指定されているボタン数が違っている場合、この値が優先されます。
デフォルト値 : 0x2

PointerDeviceBaseName REG_SZ ベース マウス ポート デバイス名
マウス ポート マウス ドライバによって作成されるポインタ デバイス オブジェクトのベース名を指定します。また、ポインタ クラス ドライバがポインタ ポート デバイス オブジェクトを検出できるように、デバイス ドライバはデバイス オブジェクトに関する情報を HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap に書き込みます。
デフォルト値 : PointerPort

PollStatusIterations REG_DWORD 数値
i8042 コントローラの状態レジスタをチェックする回数の最大値を指定します。この回数を超えると、割り込みは実際に存在しないものとして破棄されます。この値は、いくつかのハードウェア (Olivetti MIPS など) で発生する問題 (i8042 状態レジスタに Output Buffer Full ビットが設定される前にキーボード割り込みが発生するという問題) の回避に利用できます。

システムが突然キーボード割り込みの取得を停止してしまう場合は、この値を増やしてください。このような問題は、割り込みが発生した後で Output Buffer Full が設定される前に (最大回数を超過してしまったため)、キーボード割り込みが実際には存在しなかったものとして、誤って破棄された場合に起こる場合があります。PollStatusIterations の値を増やすと、キーボードの割り込みが本当に存在しない場合、割り込みサービス ルーチンの実行時間が長くなります (Output Buffer Full の確認後に、1 マイクロ秒の遅れが発生します)。

ドライバがキーボードの割り込みを取得しているかどうかを調べるには、NumLock キーを押します。キーボードの NumLock キーのランプが点灯した場合は、i8042prt ドライバがキーボード割り込みを正しく処理しています。
デフォルト値 :1

OverrideKeyboardType REG_DWORD >= 0x0
このエントリは、通常存在しません。このエントリが存在する場合、キーボードの種類を指定しています (システムの初期化時に検出されたキーボードの種類より、優先されます)。検出されたキーボードの種類が、レジストリのものと違う場合、この値のエントリを追加します。0x2 と 0x4 は、それぞれ拡張 101 キーボードと 102 キーボード、またはその互換製品の値です。その他の値は、通常古い AT キーボード (83、84、86 キーボード)、またはその互換製品を示します。
デフォルト値 : 0x4 (拡張 101 キーボード、または 102 キーボード)

OverrideKeyboardSubtype REG_DWORD >= 0x0
このエントリは、通常存在しません。このエントリが存在する場合、OEM 固有のキーボードのサブタイプを指定しています (システムの初期化時に検出されたキーボードのサブタイプより優先されます)。
デフォルト値 : 0x0

PollingIterations REG_DWORD >= 0x400
ポーリング モードで、操作タイムアウトまでのハードウェアの標準ポーリング回数を指定します。ドライバが初期化に失敗するか、動作が正常に行われない場合で、かつ、イベント ビューアのシステム ログに次の i8042prt のメッセージが記録されている場合は、この値を増やすことを検討してください。"The operation on ... timed out (time out is configurable via the Registry)."
デフォルト値 : 0x400

PollingIterationsMaximum REG_DWORD >= 0x400
ポーリング モードで、ハードウェアをポーリングする最大回数を指定します。この回数を超えると、タイムアウトになります。古いスタイルの AT キーボードが検出された場合、PollingIterations の代わりにこの値が使用されます (OverrideKeyboardType 参照)。ドライバが初期化に失敗するか、動作が正常に行われない場合で、かつ、イベント ビューアのシステム ログに次の i8042prt のメッセージが記録されている場合は、この値を増やすことを検討してください。 "The operation on ... timed out (time out is configurable via the Registry)."
デフォルト値 : 0x2EE0

ResendIterations REG_DWORD >= 0x1
ハードウェア操作の最大リトライ回数を指定します。この回数を超えると、タイムアウトになります。ドライバが初期化に失敗するか、動作が正常に行われない場合で、かつ、イベント ビューアのシステム ログに次の i8042prt のメッセージが記録されている場合は、この値を増やすことを検討してください。"Exceeded the allowable number of retries (configurable via the Registry) on device ..."
デフォルト値 : 0x3

SampleRate REG_DWORD マウスのサンプル周波数 (Hz)
マウスのサンプル周波数を指定します。現在は使用されていませんが、今後使用される予定です。Windows NT の最初のリリースでは、この値を設定しても使用されません。
デフォルト値 : 0x3C (60 Hz)

Microsoft InPort バス マウス ポート ドライバ エントリ

次で説明する Microsoft InPort バス マウスに関する値のエントリは、次のサブキーにあります。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Inport\Parameters
HzMode REG_DWORD マウスのサンプル周波数モード指定子
Microsoft InPort モード レジスタに書き込まれ、マウスのサンプル周波数を設定する値を指定します。Windows NT の最初のリリースでは使用されるかもしれませんが、将来的にはあまり使われなくなるでしょう。
デフォルト値 : 0x2 (50 Hz を選択)

MouseDataQueueSize REG_DWORD >= 0x1
ページ プール外で、ドライバによって内部的にバッファリングされるマウス イベントの数を指定します。バイト数で指定する内部バッファの割り当てサイズは、この値に MOUSE_INPUT_DATA 構造体のサイズ (NTDDMOU.H で定義されています) を掛けたものになります。イベント ビューアのシステム ログに、次の InPort のメッセージが記録されている場合は、この値を増やすことを検討してください。 "The ring buffer that stores incoming mouse data has overflowed (buffer size is configurable via the Registry)."
デフォルト値 : 0x64 (100)

NumberOfButtons REG_DWORD >= 0x1
Microsoft InPort バス マウスのボタンの数を指定します。起動時に検出されたボタン数と、レジストリで指定されているボタン数が違っている場合、この値が優先されます。
デフォルト値 : 0x2

PointerDeviceBaseName REG_SZ ベース ポート デバイス名
Microsoft InPort バス マウス デバイス ドライバによって作成されるデバイス オブジェクトのベース名を指定します。また、ポインタ クラス ドライバがポインタ ポート デバイス オブジェクトを検出できるように、デバイス ドライバはデバイス オブジェクトに関する情報を HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap に書き込みます。
デフォルト値 : PointerPort

SampleRate REG_DWORD マウスのサンプル周波数 (Hz)
Microsoft InPort バス マウスのサンプル周波数を指定します。現在は使用されていませんが、今後使用される予定です。Windows NT の最初のリリースでは、この値を設定しても使用されません。
デフォルト値 : 0x32 (50 Hz)

参照 : 『The Windows NT Resource Kit for Operating System Version 3.1』
すべて展開する | すべて折りたたむ

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 102989? (http://support.microsoft.com/kb/102989/EN-US/ ) (最終更新日 2000-10-05) をもとに作成したものです。


この資料は以下の製品について記述したものです。
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
キーワード:?
kbhowto kbprint KB102989
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
 

サポート技術情報の翻訳