Interactive Input Device Architecture

This section describes the Microsoft Windows architecture for interactive input devices. Interactive input devices are devices that humans use to directly control the operation of computer systems. Examples of interactive input devices include:

  • Keyboards and pointing devices such as standard mouse devices, trackballs, and joysticks.

  • Front-panel controls such as knobs, switches, buttons, and sliders.

  • Controls that might be found on devices such as telephones and other consumer electronics.

  • Controls, games, and simulation devices such as data gloves, throttles, steering wheels, and rudder pedals.

Note   In the WDK, interactive input devices are often more simply referred to as input devices; the context determines whether the device is an interactive input device or another type of computer input device.

To modularize and streamline input processing, the core of the interactive input architecture is based on the USB Human Interface Device (HID) standard. (For detailed information about the USB HID standard, see the USB Implementers Forum website.)

The architecture integrates support for the following types of devices:

  • Devices in the system-supplied HIDClass device setup class.

    The system-supplied HID class driver is the WDM function driver and bus driver for HIDClass devices. The HID class driver uses HID minidrivers to access input devices.

  • Non-HIDClass keyboard and mouse devices, which are operated by the system-supplied keyboard and mouse class driver stacks.

  • Non-HIDClass game port (I/O port 201) devices, which are operated by the system-supplied joystick class driver stack (Windows Millennium Edition only).

For a description of the components of the input architecture, see the following:

System-Supplied Components for HIDClass Devices

System-Supplied Drivers for Non-HIDClass Input Devices

System-Supplied User-Mode Components for Input Devices

Vendor-Supplied Drivers for Input Devices

For a description of driver stacks for input devices, see:

Driver Stacks for HIDClass Devices

Driver Stacks for Non-HIDClass Devices

See also Keyboard Layout.

For more information about support for specific types of input devices, see:

HIDClass Devices

Non-HIDClass Keyboard and Mouse Devices


Check the Web Site

Also see the input device technology website, which provides additional information about Microsoft requirements for input device hardware and drivers.



Send comments about this topic to Microsoft

Build date: 4/28/2012