This i8042 (PS/2) device driver implements the Windows® 2000-style keyboard and mouse ports. It differs from Windows NT® 4.0 in that instead of writing the device object's name to the registry and relying on the class driver (either mouclass or kbdclass) to load after it and look at these names, it is in the same driver stack as the class driver itself. Almost all the other interactions with the class driver are the same.
The code works on Windows 2000 or later platforms. This code will not work on previous versions Windows NT due to support for Plug and Play, Power, and the new class drivers.
The driver supports Plug and Play with respect to the Plug and Play IRP. The driver does not perform device detection or support hot plugging. As for power, i8042prt supports low power states by reinitializing the devices upon resumption to normal power.
This sample builds i8042prt.sys. Necessary files include those in this directory and Kbdmou.h, Ntdd8042.h, Ntddmou.h, Ntddkbd.h, PoClass.h, and wmistr.h. Both free and checked builds are available. NOTE: Wmilib.sys must be present on the target machine for the binary to load properly.
File DescriptionPnpi8042.htm The documentation for this sample (this file). Sources The generic file for building this code sample. Hook.c Callback functions for upper hook filters I8042cfg.h Configuration information I8042cmn.c IOCTL dispatch, DPC completion routines, StartIO I8042dep.c DriverEntry, Hardware initialization routines I8042log.mc Definition for i8042prt errors I8042prt.h Global i8042prt header file I8042prt.rc Resources I8042str.c String constants I8042str.h String constants definitions Kbdcmn.c Keyboard packet reporting Kbddep.c Keyboard specific initialization Kbdpnp.c Keyboard specific PnP routines Moucmn.c Mouse mapcket reporting Moudep.c Mouse-specific initialization Moupnp.c Mouse-specific PnP routines Pnp.c Plug and Play and Power dispatch functions SysBtn.c System (i.e., power) button support Wmi.c System Control/WMI dispatch
© 1999 Microsoft Corporation