Microsoft KB Archive/102990

= Device Driver Entries, PART 3--Mouse/Keyboard Driver =

Article ID: 102990

Article Last Modified on 10/31/2006

-

APPLIES TO


 * Microsoft Windows NT Advanced Server 3.1
 * Microsoft Windows NT Workstation 3.1
 * Microsoft Windows NT Advanced Server 3.1

-



This article was previously published under Q102990



SUMMARY
The article contains REGISTRY entries for Mouse and Keyboard Drivers. There is a second half of this topic, found in the article Device Driver Entries Part 3.

These subgroups are included:


 * Microsoft Serial Mouse Port Driver
 * Mouse Class Driver
 * Keyboard Class Driver
 * Device Map Entries for the Keyboard and Mouse

There are 5 parts to the Device Driver Entries article series: Part 1: Device Driver Entries, containing:
 * File System Drivers and Recognizers
 * Disk, Serial and Parallel Ports

Part 2: Mouse and Keyboard Entries, containing:
 * Microsoft Bus Mouse Port Driver
 * Intel 8042 Port Driver
 * Microsoft InPort Bus Mouse Port Driver

Part 3: Mouse and Keyboard Entries, cont'd

Part 4: SCSI Miniport Entries

Part 5: Sound Card and Video Device Driver Entries

NOTE: You can view current settings for these device drivers by choosing the Devices button in WinMSD.

Microsoft Serial Mouse Port Driver Entries
The value entries for the Microsoft serial mouse are found in this subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Sermouse\Parameters

MouseDataQueueSize    REG_DWORD     >= 0x1 Specifies the number of mouse events to be buffered internally by the driver, in nonpaged pool. The allocated size, in bytes, of the internal buffer is this value times the size of the MOUSE_INPUT_DATA structure (defined in NTDDMOU.H). Consider increasing the size if the System log in Event Viewer contains the following message from the Sermouse source: "The ring buffer that stores incoming mouse data has overflowed (buffer size is configurable via the Registry)." Default: 0x64 (100) NumberOfButtons    REG_DWORD     >= 0x1 Specifies the number of buttons on the serial mouse. If the number of buttons detected at startup time and placed in the Registry is incorrect, this value can be used to override it. Default: 0x2 OverrideHardwareBitstring    REG_DWORD     0x1 or 0x2 This entry is not usually present. When present, it specifies that regardless of whether it was actually detected, a serial mouse is present on the system. Add this value to tell the driver to assume the serial mouse is on COM1 (specified by the value 0x1) or COM2 (specified by the value 0x2). This entry is useful if the serial mouse has not been automatically detected. PointerDeviceBaseName    REG_SZ     Base port device name Specifies the base name for the device object(s) created by the serial mouse device driver. The device driver also writes information about the device objects into HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap so that the pointer class driver can locate the pointer port device objects. Default: PointerPort SampleRate    REG_DWORD     Mouse sample rate in Hz Specifies the sample rate for the serial mouse. Intended for future use. This value might have no effect in the first release of Windows NT. Default: 0x28 (1200 baud)

Mouse Class Driver Entries
The value entries for the mouse class driver are found in this subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mouclass\Parameters

ConnectMultiplePorts    REG_DWORD     0x0 or 0x1 Specifies the type of connection between class and port device objects. This parameter is mainly of interest to device driver writers.

The value 0x0 specifies a 1:1 relationship between class device objects and port device objects. (That is, one class device object is created by the driver and connected to one port device object; the maximum number of objects created and connected to an associated port object is determined by the value of MaximumPortsServiced.) The value 0x1 specifies a 1:many relationship between a single class device object and multiple port device objects. (That is, one class device object is created by the driver and then connected to multiple port device objects, up to a maximum specified by MaximumPortsServiced.) Default: 0x1 (The events generated by up to the MaximumPortsServiced number of pointing devices on the system will all be fed to the Windows subsystem in a single input stream.) MaximumPortsServiced    REG_DWORD     >= 0x1 Specifies the number of port devices the mouse class device driver will connect to and service. The class device driver handles hardware- independent operations on a specific class of devices (in this case, the mouse and other pointing devices). The port drivers manage the hardware- specific operations. Default: 0x3 (The class driver will service up to three pointing devices.) MouseDataQueueSize    REG_DWORD     >= 0x1 Specifies the number of mouse events to be buffered internally by the driver, in nonpaged pool. The allocated size, in bytes, of the internal buffer is this value times the size of the MOUSE_INPUT_DATA structure (defined in NTDDMOU.H). Consider increasing the size if the System log in Event Viewer frequently contains the following message from the Mouclass source: "The ring buffer that stores incoming mouse data has overflowed (buffer size is configurable via the Registry)." Default: 0x64 (100) PointerDeviceBaseName    REG_SZ     Base class device name Specifies the base name for the device object(s) created by the mouse class device driver. The device driver also writes information about the device object into HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap so that the pointer class device object(s) can be easily located. Default: PointerClass

Keyboard Class Driver Entries
The value entries for the keyboard class driver are found in the following subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kbdclass\Parameters

ConnectMultiplePorts    REG_DWORD     0x0 or 0x1 Specifies the type of connection between class and port device objects. This parameter is mainly of interest to device driver writers.

The value 0x0 specifies a 1:1 relationship between class device objects and port device objects. (That is, one class device object is created by the driver and connected to one port device object; the maximum number of objects created and connected to an associated port object is determined by the value of MaximumPortsServiced.) The value 0x1 specifies a 1:many relationship between a single class device object and multiple port device objects (That is, one class device object is created by the driver and then connected to multiple port device objects, up to a maximum specified by MaximumPortsServiced.) Default: 0x0 (The events generated by up to the MaximumPortsServiced number of keyboard devices on the system will feed separate input streams. In the first release of Windows NT, the Windows subsystem only reads from a single keyboard input stream.) KeyboardDataQueueSize    REG_DWORD     >= 0x1 Specifies the number of keyboard events to be buffered internally by the driver, in nonpaged pool. The allocated size, in bytes, of the internal buffer is this value times the size of the KEYBOARD_INPUT_DATA structure (defined in NTDDKBD.H). Consider increasing the size if the System log in Event Viewer contains the following message from the Kbdclass source: "The ring buffer that stores incoming keyboard data has overflowed (buffer size is configurable via the Registry)." Default: 0x64 (100) KeyboardDeviceBaseName    REG_SZ     Base class device name Specifies the base name for the keyboard device object(s) created by the keyboard class device driver. The device driver also writes information about the device objects into HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap so that the keyboard class device objects are easily located. Default: KeyboardClass MaximumPortsServiced    REG_DWORD     >= 0x1 Specifies the number of port devices the keyboard class device driver will connect to and service. The class device driver handles hardware- independent operations on a specific class of devices (in this case, keyboard devices). The port drivers manage the hardware-specific operations. Default: 0x3 (The class driver will service up to three keyboard devices.)

DeviceMap Entries for the Keyboard and Mouse The following DeviceMap descriptions are for informational purposes only, since the DeviceMap subkeys are volatile and are recreated each time you start Windows NT. Administrators cannot modify DeviceMap entries.

These DeviceMap entries are used by the Windows subsystem to locate the pointer and keyboard class devices, and by the pointer and keyboard class drivers to locate the associated pointer and keyboard port devices. Information is placed in the DeviceMap subkey by the keyboard and pointer class and port drivers.

The format for each of these entries is:

Name of class device object : REG_SZ : Registry path to driver's Services

The keyboard class information appears in the Registry path: HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap\KeyboardClass There can be one or more of these entries. Each entry specifies the name of a device object created by the keyboard class driver to represent the class device, followed by the Registry path to the driver's Services subkey. Default: <pre class="fixed_text">\Device\KeyboardClass0 : REG_SZ : \Registry\Machine\System\ControlSet001\Services\Kbdclass The keyboard port information appears in the Registry path: <pre class="fixed_text">HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap\KeyboardPort There can be one or more of these entries. Each entry specifies the name of a device object created by the keyboard port driver(s) to represent the physical keyboard (port) device, followed by the Registry path to the driver's Services subkey. Default: <pre class="fixed_text">\Device\KeyboardPort0 : REG_SZ : \Registry\Machine\System\ControlSet001\Services\i8042prt The mouse class information appears in the Registry path: <pre class="fixed_text">HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap\PointerClass There can be one or more of these entries. Each entry specifies the name of a device object created by the pointer (mouse) class driver to represent the class device, followed by the Registry path to the driver's Services subkey. Default: <pre class="fixed_text">\Device\PointerClass0 : REG_SZ : \Registry\Machine\System\ControlSet001\Services\Mouclass The mouse port information appears in the Registry path: <pre class="fixed_text">HKEY_LOCAL_MACHINE\HARDWARE\DeviceMap\PointerPort There can be one or more of these entries. Each entry specifies the name of a device object created by the pointer port driver(s) to represent the physical pointing (port) device, followed by the Registry path to the driver's Services subkey. Default (assumes mouse port, Microsoft InPort, and serial pointing devices are connected):

\Device\PointerPort0 : REG_SZ : <pre class="fixed_text">    \Registry\Machine\System\ControlSet001\Services\i804 2prt\Device\PointerPort1 : REG_SZ : <pre class="fixed_text">    \Registry\Machine\System\ControlSet001\Services\Inport \Device\PointerPort2 : REG_SZ : <pre class="fixed_text">    \Registry\Machine\System\ControlSet001\Services\Sermouse

<div class="references_section">