USB human interface device class is a part of the USB specification for human interface devices such as keyboards, mice, game controllers and alphanumeric display devices. The USB HID class is defined in a number of documents provided by the USB Implementers Forum's Device Working Group. The primary document used to describe the USB HID class is the Device Class Definition for HID 1.11. This class allows the development of a USB device without a custom driver for native Windows support. Many predefined functions exist in the USB HID class. These functions allow hardware manufacturers to design a product to USB HID class specifications and expect it to work with any software that also meets these specifications.