Input Device Drivers and Windows
Updated: December 4, 2001
On This Page
Value-added Input Drivers
Call to action for input devices and Windows:
Value-added Input Drivers
In earlier versions of the Microsoft Windows NT operating system, it was a common practice for vendors to replace built-in system input drivers with their own value-added versions. Under Microsoft Windows 2000 and Windows XP, this practice is no longer valid--setup will fail with the error logged in %windir%/setuperr.log.
For Windows 2000 and Windows XP:
-
Vendors cannot replace the ImagePath of any system input driver. That is, the ServiceBinary line in the service [Install] section of the INF must not be altered. This includes i8042prt, Inport, Kbdclass, Kbdhid, Mouclass, Mouhid, and Sermouse.
-
Vendors cannot disable any input drivers and replace them with their own. This is especially true for class drivers. Each driver stack is designed so that vendors can insert their driver as a filter (for example, i8042prt) or their driver can completely control their device (for example, a serial mouse). The Microsoft-provided drivers are designed to run alongside vendors' specific drivers. For example, Sermouse.sys can control the Microsoft serial mouse on the system while Foo.sys controls the super serial device created by Bar Company.
-
For PS/2-compatible devices, vendors must use Update Driver functionality to add a device into the stack. Vendors must insert their driver between i8042prt and the class driver. In Windows 2000 and later, vendors cannot use the Add New Hardware applet to install keyboards and mice. Use the Include and Needs directives--do not copy and paste from a system INF file.
NOTE: To include directives from an original system INF, you should use Include and Needs directives in the [DDInstall] section of the device INF. These directives allow a third-party INF to include standard setup directives for its device without copying and pasting these directives from the original system INF files. The use of Include and Needs directives also allows Windows 2000 to change the way a port or class driver is set up and to have all third-party INF files automatically incorporate this change.
Call to action for input devices and Windows: