https://www.usb.org/hid
Human Interface Devices (HID) Information
HID Related Specifications and ToolsDevice Class Definition HIDThe 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 TablesThe 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 RequestsThe 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 Association14.15 KBReview Request 29: Repurposing the Alphanumberic Display Page (0x14) as a generic Auxiliary Display Page and adding bitmap and46.82 KBReview Request 30: Touch digitizers16.91 KBReview Request 31: Background Events application collection18.58 KBReview Request 32: Dual-Mode Telephone devices44.65 KBReview Request 33: Water cooling and computer chassis24.92 KBReview Request 34: Multi-touch digitizers15.54 KBReview Request 35: Consumer electronics devices (PiP Toggle, Pip-swap)21.12 KBReview Request 36: Consumer electronics devices (Color buttons)20.28 KBReview Request 37: Video Aspect Ratio Controls3.78 KBReview Request 38: Usage for 3D Display Mode Control3.53 KBReview Request 39: HID Usage Table Sensor Page1.94 MBReview Request 40: HID Radio On/Off Usages19.13 KBReview Request 41: Display Brightness Controls66.87 KBReview Request 42: Consumer Page Keyboard Assist Controls155.65 KBReview Request 44: HID Accuracy Proposal99.06 KBReview Request 45: Voice Command Usage60.71 KBReview Request 46: Additional Stylus Usages1.57 KBReview Request 47: Player LEDs55.11 KBReview Request 48: Fast IDentify Online Alliance57.43 KBReview Request 49: Camera Controls22.03 KBReview Request 50: Enable/Disable Usage9.1 KBReview Request 51: Collection for Portable Device Controls25.78 KBReview Request 52: Display Rotation Lock Control9.6 KBReview Request 53: Preferred Inking Color14.01 KBReview Request 54: Correction to HUTRR488.41 KBReview Request 55: Sensor Batching Controls126.85 KBReview Request 56: Keyboard Layout Usage52.72 KBReview Request 57: Correction to HUTRR47129.26 KBReview Request 59: Sensor Page Usages for Wearables464.97 KBReview Request 60: Additional Stylus Usages6.19 KBReview Request 61: New Version Usages2.26 KBReview Request 62: Generic Desktop CA for System Multi-Axis Controllers3.79 KBReview Request 63: Haptics Usage Page232.16 KBReview Request 64: Gaming Recorder controls132.22 KBReview Request 67: Transducer Product, Protocol, Switch, and Rate Usages52.68 KBReview Request 68: Assistive Control6.58 KBReview Request 69: Game Controller Type6.62 KBReview Request 70: Spatial Controllers155.9 KBReview Request 71: Additional Usages for Spatial Controllers137 KBReview Request 72: Usages to Control Camera Access104.21 KBReview Request 73: Fn Key and Keyboard Backlight Brightness68.9 KBReview Request 74: Creation of an Eye Tracker Usage Page183.14 KBReview Request 75: Navigation Usages7.14 KBReview Request 76: Gesture Characters54.07 KBReview Request 77: Desktop Controls6.58 KBReview Request 78: Creation of a Braille Display Usage Page54.74 KBReview Request 79: Peripheral Device Power6.75 KBReview Request 81: Correction to HUTRR687.25 KBReview Request 82: Additional Sensor Usages170.12 KBReview Request 83: New Digitizer Usages for Touchpads54.27 KBReview Request 84: Lighting and Illumination Page944.04 KBReview Request 85: System Dismiss Notification Usage60.7 KBReview Request 87: Heat Map Digitizers53.31 KBReview Request 88: Add Microsoft Pen Protocol to Digitizers Page53.11 KBReview Request 89: Desktop Assistant Usage50.6 KBReview Request 90: Dockable Devices125.47 KBReview Request 91: Dockable Devices - Object Type150.36 KBNew Usage Table Review RequestsUSB HID Working Group member companies may request changes to the HID Usage Tables by filling out and submitting the form below. Please note the voting and submission policies at the end of the document. New Usage Table Review Request Form2.28 KBUsage Tables for Physical Interface DevicesThe 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 DevicesThe 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 SpecificationThe 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 TablesOAAD Arcade Usage TableGaming Standards Association Gaming Device StandardsThe 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.
HID ResourcesThis 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. HIDViewThis program, found in the USBCheck, is now obsolete. Its replacement is USBCV. HID White PapersUnicodeThe 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". Note that the HID Primary LANGID (0x0FF) is not on the above list, however it is permanently reserved and will never be reassigned.
|