HID Related Specifications
Device Class Definition HID
The Device Class Definition for HID 1.11 is intended to supplement the USB Specification and provide HID manufacturers with the information necessary to build USB-compatible devices. It also specifies how the HID class driver should extract data from USB devices. The primary and underlying goals of the HID class definition are to:
- be as compact as possible to save device data space
- allow the software application to skip unknown information
- be extensible and robust
- support nesting and collections
- be self-describing to allow generic software applications
HID Usage Tables
The HID Usage Tables 1.12 document defines constants that can be interpreted by an application to identify the purpose and meaning of a data field in a HID report.
Usages are also used to define the meaning of groups of related data items. This is accomplished by the hierarchical assignment of usage information to collections.
Usages identify the purpose of a collection and the items it contains. Each Input, Output, Feature, and/or Collection data item within a Collection item can be assigned a purpose with its own usage item. Usages assigned to a collection apply to the items within the collection.
The HID Usage Tables document contains extensions to the tables defined in the USB Device Class Definition for Human Interface Devices. All usages pages, except the Keyboard table, are replicated in the Usage Table document. The Usage Table document identifies the extensions to the Keyboard usage table.
Note: For keyboards, look at the usage table sections in both the HID Specification and the HID Usage Table document!
Approved Usage Table Review Requests
The following HID Usage Table Review Requests have been approved for implementation by the USB Device Working Group HID Committee. These Review requests assign enumeration values and recommended meaning to new Usages allocated after the publication of the HID Usage Tables v1.12. Please note that the creation of a new Usage does not imply support for that Usage by any USB HID Host vendor.
Review Request 28: Creation of a Usage Page for the Gaming Standards Association
Review Request 29: Repurposing the Alphanumberic Display Page (0x14) as a generic Auxiliary Display Page and adding bitmap and custom segment capabilities
Review Request 30: Touch digitizers
Review Request 31: Background Events application collection
Review Request 32: Dual-Mode Telephone devices
Review Request 33: Water cooling and computer chassis
Review Request 34: Multi-touch digitizers
Review Request 35: Consumer electronics devices (PiP Toggle, Pip-swap)
Review Request 36: Consumer electronics devices (Color buttons)
Review Request 37: Video Aspect Ratio Controls
Review Request 38: Usage for 3D Display Mode Control
Review Request 39: HID Usage Table Sensor Page
Review Request 40: HID Radio On/Off Usages
Review Request 41: Display Brightness Controls
Review Request 42: Consumer Page Keyboard Assist Controls
Review Request 44: HID Accuracy Proposal
Review Request 45: Voice Command Usage
Review Request 46: Additional Stylus Usages
Review Request 47: Player LEDs
Review Request 48: Fast IDentify Online Alliance
Review Request 49: Camera Controls
Review Request 50: Enable/Disable Usage
Review Request 51: Collection for Portable Device Controls
Review Request 52: Display Rotation Lock Control
Review Request 53: Preferred Inking Color
Review Request 54: Correction to HUTRR48
Review Request 55: Sensor Batching Controls
Review Request 56: Keyboard Layout Usage
Review Request 57: Correction to HUTRR47
Review Request 59: Sensor Page Usages for Wearables
Review Request 60: Additional Stylus Usages
Review Request 61: New Version Usages
Review Request 62: Generic Desktop CA for System Multi-Axis Controllers
Review Request 63: Haptics Usage Page
Review Request 64: Gaming Recorder controls
Review Request 67: Transducer Product, Protocol, Switch, and Rate Usages
Review Request 68: Assistive Control
Review Request 69: Game Controller Type
Review Request 70: Spatial Controllers
Review Request 71: Additional Usages for Spatial Controllers
Review Request 72: Usages to Control Camera Access
Review Request 73: Fn Key and Keyboard Backlight Brightness
Review Request 74: Creation of an Eye Tracker Usage Page
Review Request 75: Navigation Usages
Review Request 76: Gesture Characters
Review Request 77: Desktop Controls
Review Request 78: Creation of a Braille Display Usage Page
Review Request 79: Peripheral Device Power
Review Request 81: Correction to HUTRR68
Review Request 82: Additional Sensor Usages
Review Request 84: Lighting and Illumination Page
New Usage Table Review Requests
USB HID Working Group member companies may request changes to the HID Usage Tables by filling out and submitting this form. Please note the voting and submission policies at the end of the document.
Usage Tables for Physical Interface Devices
The Device Class Definition for PID 1.0 provides information for the development of Physical Interface Devices. These devices include force feedback joysticks, steering wheels, etc. It allows peripheral and driver developers to use a common set of HID report descriptors, device usages and reports to describe the characteristics of a PID class device.
Usage Tables for HID Power Devices
The Usage Tables for HID Power Devices 1.0 specification provides information to guide implementers in using the USB logical structures for Power Devices, OS designers, BIOS designers, and peripheral and UPS designers can use the common descriptors, of USB Power Device Usages and Reports.
Monitor Control Class Specification
The Monitor Control Class 1.0 specification defines how a monitor with a USB Monitor Control interface interacts with a USB-enabled host system.
HID Point Of Sale Usage Tables
The HID Point Of Sale Usage Tables 1.02 document defines usages that apply to Point of Sale devices, in particular Barcode Scanners and Scales.
OAAD Arcade Usage Table
The OAAD Arcade Usage Table document defines usages for coin changers, general purpose digital inputs and outputs, and other devices used in arcade products.
Gaming Standards Association Gaming Device Standards
The Gaming Standards Association defines HID Usages and HID Reports used in the implementation of GSA-compliant Gaming Devices such as currency handlers, gaming-specific printers, etc. Their standards relating to USB HID implementations can be found here.
Microsoft Related HID Documentation
The Microsoft Related HID Documentation page contains links to documentation on Microsoft's site geared towards HID implementation, device class support, devices, etc.
HID Descriptor Tool
This tool allows you to create, edit and validate HID Report Descriptors. The tool also supports a variety of output formats (.txt, .inc, .h, etc.). DT uses ASCII based Usage Tables and supports vendor defined pages as well. Included are Usage Table files for the HID Usage Table document 1.0 Release Candidate 1, Monitor Class 1.0 Release Candidate 2, and Power Class Spec. Read the included README.TXT file for more information.
This program, found in the USBCheck, is now obsolete. Its replacement is USBCV.
HID White Papers
- An Analysis of Wireless Device Implementations on USB
- HID Parser Error Checking
An FAQ with questions and answers regarding hid and hid usage.
The Unicode web site (www.unicode.org) allows you to download the latest character tables for free. Check it before you finalize a design because new ones are always in process.
The Nadine Kano book, "Developing International Software" which was used as key reference for Unicode, is out of print. It can still be obtained in a CD-ROM version as part of the Microsoft Developers Network (MSDN) subscription. Subscription information can be obtained at the MSDN web site (msdn.microsoft.com). Or it can be accessed for free online at the MSDN Library. The book can be found under "Books / Developing International Software".
To get the latest LANGID definitions go to http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_8xo3.asp . This page will change as new LANGIDs are added.
Note that the HID Primary LANGID (0x0FF) is not on the above list, however it is permanently reserved and will never be reassigned.
Please send your URLs to firstname.lastname@example.org.