PNPI8042

[This is preliminary documentation and subject to change.]

SUMMARY

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.

BUILDING THE SAMPLE

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. KEYBOARD.INF (the inf required to load this driver) is a system INF.

CODE TOUR

File Manifest

File			Description

Pnpi8042.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


Top of page

© 1999 Microsoft Corporation