

The HID class driver creates a PDO for each keyboard or mouse TLC.The transport stack creates a physical device object (PDO) for each HID device attached and loads the appropriate HID transport driver which in turn loads the HID Class Driver.The system builds the driver stack as follows: The HID Class driver is the glue between KBDHID.sys and MOUHID.sys HID clients and various transports (USB, Bluetooth, etc). This is not the driver for touchscreens as that is managed by a different driver in Windows. The driver does support both absolute and relative pointing devices. MOUCLASS.sys: The mouse class driver maintains functionality for all mice / touchpads on the system.KBDCLASS.sys: The keyboard class driver maintains functionality for all keyboards and keypads on the system in a secure manner.Converts HID usages into mouse commands (X/Y, buttons, wheel) to interface with the existing keyboard class driver. MOUHID.sys: HID client mapper driver for mice/touchpads.Converts HID usages into scancodes to interface with the existing keyboard class driver.


A HID mapper driver is a kernel-mode WDM filter driver that provides a bidirectional interface for I/O requests between a non-HID Class driver and the HID class driver. Keyboard and mouse HID client drivers are implemented in the form of HID Mapper Drivers. Keyboards and mice represent the first set of HID clients that were standardized in the HID Usage tables and implemented in Windows operating systems. This topic discusses keyboard and mouse HID client drivers.

This topic is for developers who are creating drivers for keyboard and mouse HID clients.
