絞ヶ弇离ㄩ忑珜 >> 儂迮/痀桶 >>

羲楷USB hid扢掘恅紫


Universal Serial Bus (USB)

HID Usage Tables
1/21/2005 Version 1.12 Please send comments via electronic mail to: hidcomments@usb.org

?1996-2005 USB Implementers* For

um〞All rights reserved.

ii

Universal Serial Bus HID Usage Tables

Contributors
Brian M. Bates 每 ELO Touchsystems Robert Dezmelyk 每 LCS/Telegraphics Robert Ingman 每 Microsoft Corporation Rob Lieb 每 Symbol Technologies, Inc. Steve McGowan 每 Intel (Editor) Kenneth Ray 每 Microsoft Corporation Steve Schumacher 每 LCS/Telegraphics Nathan C. Sherman - Microsoft Corporation Don Stern 每 TV Interactive Mike Van Flandern 每 Microsoft Corporation Remy Zimmerman 每 Logitech International And many others.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

iii

Revision History
Revision
1.12 1.12rc1 1.11 1.11rc1 1.1 1.1rc3 1.1rc2 1.1rc1

Issue Date
January 21, 2005 October 28, 2004 June 27, 2001 August 7, 2000 April 8, 1999 February 16, 1999 January 21, 1999 October 13,1998

Comments
Version 1.12 release Incorporate HUT Review Request 20, 21, 22, 23, 24, 25, 27, and 29. Version 1.11 release Incorporate HUT Review Request 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15,16, 17, and 18. Version 1.1 release Correct barcode Usage Page ID. Corrected page numbering. Incorporate HID Review Request 51. Incorporate Keyboard Usage Table from the 1.0 HID Specification and HID Review Requests 16, 34, 38, 40, 41, 42, 43, 45, 46, 48 and 49. Version 1

1.0

October 30, 1997

Version 1.12

January 21, 2005

iv

Universal Serial Bus HID Usage Tables
Copyright ? 1996-2005, USB Implementers Forum All rights reserved.

INTELLECTUAL PROPERTY DISCLAIMER THIS SPECIFICATION IS PROVIDED ※AS IS§ WITH NO WARRANTIES WHATSOEVER INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE. A LICENSE IS HEREBY GRANTED TO REPRODUCE AND DISTRIBUTE THIS SPECIFICATION FOR INTERNAL USE ONLY. NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED OR INTENDED HEREBY. AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF PROPRIETARY RIGHTS, RELATING TO IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. AUTHORS OF THIS SPECIFICATION ALSO DO NOT WARRANT OR REPRESENT THAT SUCH IMPLEMENTATION(S) WILL NOT INFRINGE SUCH RIGHTS.

All product names are trademarks, registered trademarks, or service marks of their respective owners.

Please send comments via electronic mail to hidcomments*at*usb.org, us the @ sign for &at*.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

v

Table of Contents
1 INTRODUCTION.................................................................................................................................11 1.1 1.2 1.3 1.4 2 3 SCOPE ..............................................................................................................................................11 PURPOSE ..........................................................................................................................................11 RELATED DOCUMENTS ....................................................................................................................12 TERMS AND ABBREVIATIONS ...........................................................................................................12

MANAGEMENT OVERVIEW ...........................................................................................................13 USAGE PAGES.....................................................................................................................................14 3.1 HID USAGE TABLE CONVENTIONS ..................................................................................................15 3.2 HANDLING UNKNOWN USAGES .......................................................................................................15 3.3 USAGES AND UNITS .........................................................................................................................16 3.4 USAGE TYPES ..................................................................................................................................16 3.4.1 Usage Types (Controls)...........................................................................................................17 3.4.2 Usage Types (Data).................................................................................................................18 3.4.3 Usage Types (Collection) ........................................................................................................20 3.4.4 Alternate Types........................................................................................................................21 3.5 SYSTEM CONTROLS .........................................................................................................................22 3.5.1 Keyboard.................................................................................................................................22 3.5.2 Mice.........................................................................................................................................22 3.5.3 Joysticks ..................................................................................................................................22 3.6 HID LANGIDS ................................................................................................................................22 3.6.1 Usage Data Descriptor (0x01) ................................................................................................24 3.6.2 Vendor Defined HID LANGID (0x3C - 0x3F) ........................................................................24

4

GENERIC DESKTOP PAGE (0X01) .................................................................................................26 4.1 APPLICATION USAGES .....................................................................................................................28 4.2 AXIS USAGES ...................................................................................................................................29 4.3 MISCELLANEOUS CONTROLS ...........................................................................................................29 4.3.1 Resolution Multiplier...............................................................................................................30 4.4 VECTOR USAGES .............................................................................................................................31 4.5 SYSTEM CONTROLS .........................................................................................................................32 4.5.1 Power Controls .......................................................................................................................32 4.6 BUFFERED BYTES ............................................................................................................................34 4.7 DIRECTION PADS .............................................................................................................................34 4.8 FEATURE NOTIFICATIONS ................................................................................................................34 4.9 SOFTWARE FLOW CONTROLS ...........................................................................................................35 4.10 SYSTEM DISPLAY CONTROLS ...........................................................................................................35

5

SIMULATION CONTROLS PAGE (0X02).......................................................................................37 5.1 5.2 5.3 5.4 5.5 5.6 5.7 SPORTS SIMULATION DEVICE ..........................................................................................................38 FLIGHT SIMULATION DEVICES .........................................................................................................38 AUTOMOBILE SIMULATION DEVICES ...............................................................................................41 TANK SIMULATION DEVICES ...........................................................................................................42 MARITIME SIMULATION DEVICES ....................................................................................................42 TWO-WHEELED SIMULATION DEVICES ............................................................................................43 MISCELLANEOUS SIMULATION DEVICES..........................................................................................43

6

VR CONTROLS PAGE (0X03) ...........................................................................................................44

Version 1.12

January 21, 2005

vi 7

Universal Serial Bus HID Usage Tables SPORT CONTROLS PAGE (0X04)....................................................................................................46 7.1 7.2 STICK DEVICES ................................................................................................................................47 EXERCISE MACHINES .......................................................................................................................48

8

GAME CONTROLS PAGE (0X05).....................................................................................................49 8.1 3D GAME CONTROLLER ...................................................................................................................50 8.2 PINBALL DEVICE ..............................................................................................................................51 8.3 GUN DEVICE ....................................................................................................................................51 8.4 GAMEPADS .......................................................................................................................................52 8.4.1 Gamepad Button Collections...................................................................................................52

9 10 11

GENERIC DEVICE CONTROLS PAGE (0X06) ..............................................................................53 KEYBOARD/KEYPAD PAGE (0X07)............................................................................................54 LED PAGE (0X08) ............................................................................................................................62 KEYBOARD INDICATORS ..................................................................................................................64 TELEPHONY INDICATORS .................................................................................................................64 CONSUMER INDICATORS ..................................................................................................................65 MEDIA TRANSPORT INDICATORS......................................................................................................65 PRINTER INDICATORS .......................................................................................................................66 GENERAL DEVICE INDICATORS ........................................................................................................66 BUTTON PAGE (0X09)....................................................................................................................69 ORDINAL PAGE (0X0A).................................................................................................................70 TELEPHONY DEVICE PAGE (0X0B) ..........................................................................................71 TELEPHONY DEVICES .......................................................................................................................73 TELEPHONY KEY PAD USAGES ........................................................................................................73 CALL CONTROL ................................................................................................................................74 SPEED DIAL CONTROLS....................................................................................................................75 VOICE MAIL CONTROLS ...................................................................................................................75 LOCALLY GENERATED TONES..........................................................................................................75 CONSUMER PAGE (0X0C) ............................................................................................................77

11.1 11.2 11.3 11.4 11.5 11.6 12 13 14 14.1 14.2 14.3 14.4 14.5 14.6 15

15.1 GENERIC CONSUMER CONTROL DEVICE ..........................................................................................87 15.2 NUMERIC KEY PAD ..........................................................................................................................88 15.3 GENERAL CONTROLS .......................................................................................................................88 15.4 MENU CONTROLS .............................................................................................................................89 15.5 DISPLAY CONTROLS .........................................................................................................................89 15.6 SELECTION CONTROLS .....................................................................................................................89 15.7 TRANSPORT CONTROLS ....................................................................................................................91 15.8 SEARCH CONTROLS ..........................................................................................................................92 15.9 AUDIO CONTROLS ............................................................................................................................92 15.9.1 Volume.....................................................................................................................................92 15.9.2 Balance....................................................................................................................................92 15.9.3 Bass .........................................................................................................................................93 15.9.4 Treble ......................................................................................................................................93 15.9.5 Other........................................................................................................................................93 15.10 SPEED CONTROLS .........................................................................................................................93 15.11 HOME AND SECURITY CONTROLS ................................................................................................94

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

vii

SPEAKER CHANNELS ....................................................................................................................95 15.12 15.12.1 Audio Channels ...................................................................................................................95 15.13 PC THEATRE ................................................................................................................................97 15.14 PROGRAMMABLE BUTTONS .........................................................................................................97 15.15 APPLICATION LAUNCH BUTTONS .................................................................................................97 15.16 GENERIC GUI APPLICATION CONTROLS .................................................................................... 101 16 DIGITIZERS (0X0D)...................................................................................................................... 106

16.1 DIGITIZER DEVICES ....................................................................................................................... 107 16.2 DIGITIZER TRANSDUCER COLLECTION USAGES ............................................................................. 108 16.3 DIGITIZER REPORT FIELD USAGES ................................................................................................. 108 16.3.1 Digitizer-Specific Fields........................................................................................................ 108 16.3.2 Tilt Orientation...................................................................................................................... 109 16.3.3 Azimuth-Altitude Orientation ................................................................................................ 109 16.4 DIGITIZER SWITCH USAGES ........................................................................................................... 110 17 18 UNICODE PAGE (0X10) ............................................................................................................... 111 ALPHANUMERIC DISPLAY PAGE (0X14) .............................................................................. 112

18.1 ALPHANUMERIC DISPLAY .............................................................................................................. 114 18.1.1 Flags...................................................................................................................................... 114 18.1.2 Display Control..................................................................................................................... 116 18.1.3 Scrolling ................................................................................................................................ 117 18.1.4 Character Transfers .............................................................................................................. 117 18.1.5 Display Status........................................................................................................................ 118 18.1.6 Cursor Control ...................................................................................................................... 119 18.1.7 Font Loading......................................................................................................................... 121 18.1.8 Character Formats................................................................................................................ 122 18.2 BITMAPPED DISPLAY ..................................................................................................................... 124 18.2.1 Display Attributes Report...................................................................................................... 125 18.2.2 Orientation ............................................................................................................................ 127 18.2.3 Palette Report........................................................................................................................ 128 18.2.4 Blit Report ............................................................................................................................. 129 18.2.5 Soft Button Report ................................................................................................................. 129 19 19.1 19.2 19.3 19.4 MEDICAL INSTRUMENT PAGE (0X40)................................................................................... 130 ULTRASOUND DEVICES .................................................................................................................. 131 ACQUISITION CONTROLS ............................................................................................................... 131 SIGNAL MODULATION ................................................................................................................... 132 ACQUISITION AND DISPLAY MODE CONTROLS .............................................................................. 132

APPENDIX A: USAGE EXAMPLES ....................................................................................................... 134 A.1 VOLUME CONTROL ........................................................................................................................ 134 A.1.1 Up/Down Buttons .................................................................................................................. 134 A.1.2 Knob ...................................................................................................................................... 134 A.2 TAPE JOG WHEEL .......................................................................................................................... 134 A.3 RADIO BUTTONS ............................................................................................................................ 135 A.3.1 Mechanically Linked Radio Buttons...................................................................................... 135 A.3.2 Radio Buttons with No Mechanical Linkage ......................................................................... 135 A.4 NAMED ARRAY FIELD.................................................................................................................... 135 A.5 MULTIPLE INSTANCES OF A CONTROL ........................................................................................... 136 A.6 MULTIPLE INSTANCES OF A MULTI-MODE LED ............................................................................ 136 A.7 DESKTOP TABLET EXAMPLE .......................................................................................................... 138

Version 1.12

January 21, 2005

viii

Universal Serial Bus HID Usage Tables

A DEVICE WITH A DISPLAY ............................................................................................................141 A.8 A.9 REMOTE CONTROL .........................................................................................................................145 A.10 TELEPHONE ................................................................................................................................146 A.11.1 Multi-Line Snippet ..............................................................................................................149 A.12 JOYSTICK....................................................................................................................................149 A.13 GAME PAD .................................................................................................................................151 A.14 GRAPHIC EQUALIZER ........................................................................................................................152 19.5 SAMPLE BITMAPPED DISPLAY DEVICE ...........................................................................................154 19.5.1 Example Bitmapped Display Report Descriptor ...................................................................155 APPENDIX B: DELIMITER EXAMPLE ................................................................................................158 APPENDIX C: PHYSICAL DESCRIPTOR EXAMPLE........................................................................160 USAGE INDEX ...........................................................................................................................................164

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

ix

List of Tables
Table 1: Usage Page Summary ...................................................................... 14 Table 2: Usage Types (Controls) .................................................................... 17 Table 3: Usage Types (Data) .......................................................................... 18 Table 4: Usage Types (Collection) .................................................................. 20 Table 5: HID Sublanguage IDs........................................................................ 24 Table 6: Generic Desktop Page ...................................................................... 26 Table 7: Simulation Controls Page.................................................................. 37 Table 8: VR Controls Page.............................................................................. 44 Table 9: Sport Controls Page .......................................................................... 46 Table 10: Game Controls Page....................................................................... 49 Table 11: Generic Device Controls Page ........................................................ 53 Table 12: Keyboard/Keypad Page .................................................................. 54 Table 13: LED Usage Page............................................................................. 62 Table 14: Button Usage Page ......................................................................... 69 Table 15: Ordinal Usage Page ........................................................................ 70 Table 16: Telephony Usage Page................................................................... 71 Table 17: Consumer Usage Page ................................................................... 77 Table 18: Digitizer Page ................................................................................ 106 Table 19: Alphanumeric Display Usage Page............................................... 112 Table 20: ASCII Display Character Set ......................................................... 114 Table 21: Example 7-Segment Font values for Hex digits ............................ 123 Table 22: Medical Instrument Page............................................................... 130 Table 23: Graphic Equalizer Usage Descriptors (HID LANGID - 0x04FF) ... 153 Table 24: Example Stereo Graphic Feature Report...................................... 154

Version 1.12

January 21, 2005

x

Universal Serial Bus HID Usage Tables

List of Figures
Figure 1: String Descriptor ...............................................................................22 Figure 2: LANGID Format ................................................................................23 Figure 3: GetDescriptor(String) Request .........................................................23 Figure 4: Usage Data Descriptor .....................................................................24 Figure 5: Vendor Defined Descriptor ...............................................................25 Figure 6: System Power States .......................................................................33 Figure 7: Graphic Equalizer Data Descriptor ...................................................88 Figure 8: Audio Channels ................................................................................95 Figure 9: 7-Segment Direct Mapping Data ....................................................115 Figure 10: 14-Segment Direct Mapping Data ................................................116 Figure 11: Matrix Character Segment Mapping.............................................122 Figure 12: 7-Segment Character Segment Mapping .....................................123 Figure 13: 14-Segment Font Data .................................................................124 Figure 14: 14-Segment Character Segment Mapping ...................................124 Figure 15: Display Orientation and Writing Order..........................................128 Figure 16: LED Report fields..........................................................................137 Figure 17: Example Digitizer 2-Button Stylus Input Report ...........................140 Figure 18: Example Digitizer 16-Button Puck Input Report ...........................140 Figure 19: Example Digitizer Pressure Stylus Input Report...........................140 Figure 20: Example Display Attributes Feature Report .................................143 Figure 21: Example Display Device Input Report ..........................................143 Figure 22: Example Display Device Display Position Feature Report...........144 Figure 23: Example Display Device Character Feature Report.....................144 Figure 24: Example Display Device Font Load Output Report......................144 Figure 25: Example Remote Control Input Report.........................................146 Figure 26: Example Telephony Device Input Report .....................................148 Figure 27: Example Telephony Device Output Report ..................................149 Figure 28: Example Joystick Input Device Report .........................................150 Figure 29: Example Game Pad Input Device Report.....................................151 Figure 30: Example Display Layout ...............................................................155 Figure 31: Joystick Button Layout..................................................................160

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

11

1 Introduction
Usages are part of the HID Report descriptor and supply an application developer with information about what a control is actually measuring or reporting. In addition, a Usage tag can be used to indicate the vendor*s suggested use for a specific control or group of controls. While most of the items within a Report descriptor describe the format of the data〞for example, three 8-bit fields〞the Usage tags define what should be done with the data〞for example, x, y, and z input. This feature allows a vendor to ensure that the user sees consistent function assignments to controls across applications. It is also the key feature within HID Report descriptors that allows system or application software to know the meaning of data items, or collections of data items, so the data items can be correctly interpreted or routed to the system or application software that consumes them.

1.1 Scope
This document is the most current and complete list of currently defined usages. With the exception of the Keyboard/Keypad Page (0x07), this document is a superset of the usages defined in the USB Device Class Definition for Human Interface Devices (HID), also called the HID Specification. Keyboard/Keypad Page usages are listed in the HID Specification, and are not repeated in this document due to length. Usages for other pages listed in the HID Specification (Generic Desktop, LED, and Button pages) are repeated in this document with additional information. In case of a discrepancy, this document takes precedence over the HID Specification for those usages. Usage definitions for Monitor, Power, Bar Code Scanner, and Point of Sale devices are in process as of this publication date and are not covered in this document. For details about those usages, see the device class specifications for those devices.

1.2 Purpose
This 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. In some cases a usage applied to a collection can redefine the meaning of the usages it contains. An example of this is the Usage Selected Indicator on the LED page. Usages are also used to specify the meaning of each element within an Array data item.

Version 1.12

January 21, 2005

12

Universal Serial Bus HID Usage Tables

1.3 Related Documents
Universal Serial Bus Specification, 1.0 Version (also referred to as the USB Specification) USB PC Legacy Compatibility Specification Universal Serial Bus Device Class Definition for Human Interface Devices (HID) (also referred to as the HID Specification) USB Device Class Definition for Monitor Devices USB Device Class Definition for Power Devices USB Device Class Definition for Bar Code Scanners USB Device Class Definition for Point of Sale Devices USB Device Class Definition for Physical Interface Devices Unicode Standard, version 1.1 International Character Encoding Standard, ISO/IEC10646-1 UCS-2 Open Arcade Architecture Device Data Format Specification

1.4 Terms and Abbreviations
Application A software program that consumes the data generated by the HID device Input reports, or that controls the HID device through Feature or Output reports. Applications can be games or other programs used by end users or system software components. The bit field created by an Input, Output, or Feature main item which is declared as an Array. An array field contains the index of a usage, not the usage value. A control is used to operate or regulate a particular aspect of a device. In this document a control refers broadly to the physical entity on the device that the usage identifies. The Input, Output, and Feature main items create a bit field in a report. The Report Size determines the field*s width and the associated usage determines the field*s purpose. The offset of a field in a report is determined by the fields that are declared before it. If a field is marked as a constant and there is no usage associated with it, the field will be treated as pad bits and ignored by host software. Note: Fields created by Main items that do not have usages attached to them might not be accessible by applications. Whether such access is possible depends on the implementation of the HID device driver. Usage Defines the purpose or meaning of an item.

Array field

Control

Field

Pad

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

13

2 Management Overview
This document provides lists of usages and their descriptions that significantly extend the list of usages provided in the HID Specification. A HID usage communicates the intended function or meaning of a particular control. Usages provide a description of the data items in a HID device*s Input, Output, and Feature reports. The existence of a defined usage does not guarantee that system or application software will recognize or utilize the data item. Although usages can be very powerful, there is a potential for misuse. The detail provided in this document will help minimize the misuse or misinterpretation of usages when they are applied by a device developer. Usages have been organized into pages of related controls. Each usage has a usage ID, usage name and a detailed description. The usage names are mnemonics, not definitions. To avoid misleading interpretations based on the usage name, it is very important that a developer review a usage*s description in detail to ensure that it properly identifies the purpose of the control or device that the usage is attached to. In theory, a usage can be attached to any type of HID control, variable, array, collection, and so forth. In reality, usages only make sense when they are attached to particular controls and used in certain ways. A relatively small set of usage types have been defined to help the application software developer better understand what to expect when a particular usage is found. Each usage has a usage type associated with it. The usage type identifies the item types, flag settings and bit fields organizations that are found with a particular usage. Usages can also identify functional devices as a whole, thus providing an easy method for an application to identify devices that provide functions of interest. Such usages are found attached to application collections that are wrapped around all the items that describe a particular functional device, or a particular function in a complex device. Generally an application will query the HID driver for all application collection usages that it knows pertain to it. For example, a gaming device driver might look for Joystick and Game Pad usages, while a system mouse driver might look for Mouse, Digitizer Tablet and Touch Screen usages. As a general rule, the usages selected by a device developer should be specific enough to dissuade inappropriate use by applications while remaining general enough to allow applications to take advantage of device features if they can. If uncertain, favor the more general usage to encourage broader application support for your device. An alternative is to use delimiters to define multiple usages associated with a single control or a device. For details, see Appendix B, ※Delimiter Example.§ Some usage pages that are in the HID Specification are also found in this document. They are included here because either additional text has been provided to clarify how the usages are to be used , new usages have been added to the page, or both. No changes have been made to the usage values assigned in the HID Specification.

Version 1.12

January 21, 2005

14

Universal Serial Bus HID Usage Tables

3 Usage Pages
The following table lists the currently defined usage pages and the section in this document or the specification where each page is described. Table 1: Usage Page Summary
Page ID 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F Page Name Undefined Generic Desktop Controls Simulation Controls VR Controls Sport Controls Game Controls Generic Device Controls Keyboard/Keypad LEDs Button Ordinal Telephony Consumer Digitizer Reserved PID Page USB Physical Interface Device definitions for force feedback and related devices. 17 4 5 0 7 8 9 10 11 12 13 14 15 16 Section or Document

10 11-13 14 15-3f 40 41-7F 80-83 84-87 88-8B 8C 8D 8E 8F

Unicode Reserved Alphanumeric Display Reserved Medical Instruments Reserved Monitor pages Power pages Reserved Bar Code Scanner page Scale page Magnetic Stripe Reading (MSR) Devices Reserved Point of Sale pages

18

19 USB Device Class Definition for Monitor Devices USB Device Class Definition for Power Devices USB Device Class Definition for Point of Sale Devices

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Page ID 90 91 92-FEFF FF00-FFFF Page Name Camera Control Page Arcade Page Reserved Vendor-defined Section or Document USB Device Class Definition for Image Class Devices OAAF Definitions for arcade and coinop related Devices

15

A bold usage definition in the following sections identifies a collection. Non-bold definitions are specific features related to a device that would be applied to individual controls that generate data. In many cases, specific usages can be used by a number of device types.

3.1 HID Usage Table Conventions
Usage ID 0 should always be reserved. Usage ID 1 through 0x1F are reserved for ※top level§ collections. These usage IDs are not necessarily application-level but are used to identify general device types. Usage page values are limited to 16 bits. Usage ID values are limited to 16 bits. Usages are 32-bit identifiers, where the high order 16 bits represents the usage page and the low order 16 bits represents the usage ID. To allow more compact Report descriptors, Usage Page items can be declared to specify the high order bits of the Usage item and the Usage items can declare only the ID portion of the usage, as follows: ? ? If the bSize field of the Usage item equals 1 or 2, the entire 1- or 2-byte data portion of the item is interpreted as a usage ID. If the bSize field equals 3, bits 16-31 of the 4-byte data portion of the item are interpreted as a usage page, and bits 0-15 of the data portion are interpreted as a usage ID. This interpretation of usages applies to Usage, Usage Minimum, and Usage Maximum items.

The notation for a 32-bit usage (sometimes called an extended usage) in the examples is Usage(Usage Page: Usage ID).

3.2 Handling Unknown Usages
If a usage is unknown to an application then the application should ignore it. If the usage attached to a collection is unknown to an application, then the application should ignore the collection and all usages contained in the collection. A collection can be used to modify the meaning of the usages that it contains, therefore ※known§ usages within an unknown collection may not represent their original meaning. An example of this is the Usage Selected Indicator on the LED page. System software provides capabilities for parsing HID Report descriptors. In some cases the usage associated with the top level application collection can be used by the system software as a key to load an application-specific driver or a mapping driver for legacy compatibility.

Version 1.12

January 21, 2005

16

Universal Serial Bus HID Usage Tables

3.3 Usages and Units
For usages that declare data items as a measurement of time, distance, force, and so forth, an application must look at the units to properly interpret the value defined by a usage, unless: 1. 2. The usage specifically declares Units as optional. The usage description defines the units in which the value will be presented.

If Units are set to Optional or set to None (have not been declared) then an application can assume the usage represents a dimensionless value. Any application that ignores Units does so at its own risk. A usage that declares itself to be a measurement of time would specify whether it was seconds or milliseconds by declaring Units and Unit Exponent prior to the respective Main item declaration. An example of this is the Flash On Time usage on the LED page, which is described as the duration that the indicator is illuminated in flash mode. The duration would be qualified by the values of Units and Unit Exponent. When declaring Units for a main item, the Logical Minimum, Logical Maximum, Physical Minimum, Physical Maximum, and Unit Exponent items must also be declared. Note In many cases the coordinate system assumes that the values can vary both positively and negatively from zero (0).

3.4 Usage Types
Usages define a wide variety of device features. However, the way an application treats the data that they generate falls into a relatively small set of categories. This section provides descriptions of frequently used types of usages, primarily to save redundant text throughout this document. This list is not an exhaustive list of the possible usage types. Individual usage pages can declare their own usage types. Each usage type describes how an application should treat the data generated by the Main item that the usage is attached to. Usage type names are followed by an abbreviation that is used in the detailed usage description to identify the default type of a usage. In some cases usage types do not apply and the detailed description will identify how the usage is to be interpreted. There are three basic types of information that are described by usages: controls, collections, and data. In this context, controls are identified with the state of a device (on/off, enable/disable, and so forth), collections group related controls and data together, and data comprises the remaining information that is passed between a device and the host. Note Usage types are always considered to be the recommended method of handling a usage. Consult the usage*s definition to determine whether alternative usage types may apply.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

17

3.4.1

Usage Types (Controls)

The following table summarizes the control related usage types. Table 2: Usage Types (Controls)
Control Type Linear Control (LC) Logical Min 每1 Logical Max 1 Flags Relative, Preferred State Relative, Preferred State Absolute, Preferred State Relative, No Preferred Relative, Preferred State Absolute, No Preferred Absolute, Preferred State Relative, Preferred State Absolute, Preferred State Signal Edge Operation 1 increments the control*s value. 每1 decrements the control*s value. n increments the control*s value. 每n decrements the control*s value. The value reported by the control is used directly by the host. 1 asserts an On condition. 每1 asserts an Off condition. A 0 to 1 transition toggles the current On/Off state. 1 asserts an On condition. 0 asserts an Off condition. 1 asserts a condition. 0 deasserts the condition. A 0 to 1 transition triggers an event. A 1 to 0 transition must occur before another event can be triggered. 1 triggers an event. When an event completes, if the value is 1 then the event will be triggered again.

每Min

Max

Level

Min

Max

N/A

On/Off Control (OOC)

-1 0

1 1

Edge Edge

0 Momentary Control (MC) One Shot Control (OSC) Re-trigger Control (RTC) 0

1 1

Level Level

0

1

Edge

0

1

Level

3.4.1.1 Linear Control (LC)
In many cases, a control of a linear value is implemented as a pair of increment/decrement buttons, a jog wheel, or a linear control such as a knob or a slide. When implemented as an increment/decrement control, the two buttons must be translated into a single, 2-bit signed value and declared as a Relative Main item with a Report Size equal to 2, where 每1 decrements the value, +1 increments it, and no change occurs when 0 is asserted. A jog wheel is normally implemented as a spring-loaded knob that returns to a fixed center position when released. This control reports a single value of two or more bits which are reported as a signed value and declared as a Relative Main item where 每n decrements the value, +n increments it, and no change occurs when 0 is asserted. A jog wheel control is implemented with a resolution of +/每n, where the offset of the knob from the center position is proportional to the reported value. The Report Size must be declared large enough to contain the signed value n. When implemented as a linear knob or slide, the control must be declared as an Absolute Main item. For an example, see Section A.1, ※Volume Control,§ in Appendix A, ※Usage Examples.§

Version 1.12

January 21, 2005

18

Universal Serial Bus HID Usage Tables

3.4.1.2 On/Off Control (OOC)
An On/Off Control can be implemented in any of the following ways: ? Two buttons, On and Off. The two buttons are encoded into a 2-bit signed value and declared as a Relative, No Preferred Main item with Logical Minimum and Logical Maximum of 每1 and 1, respectively. The transition from 0 to 每1 generates an Off condition and the transition from 0 to +1 generates an On condition. No change occurs when 0 is asserted. A single button that toggles the On/Off state each time it is pressed. (single throw momentary switch The single button is encoded into a 1-bit unsigned value and declared as an Relative, Preferred Main item with a Logical Minimum and Logical Maximum of 0 and 1, respectively. The transition from 0 to 1 toggles the current On/Off state. No change occurs on the 1 to 0 transition. A toggle switch that maintains the On/Off state mechanically. (toggle switch) This control is encoded into a 1-bit unsigned value and declared as an Absolute, No Preferred Main item with a Logical Minimum and Logical Maximum of 0 and 1, respectively. The assertion of 1 generates an On condition and the assertion of 0 generates an Off condition.

?

?

3.4.1.3 Momentary Control (MC)
A Momentary Control is a basic push button. A Momentary Control is encoded into a 1-bit value and declared as an Absolute, Preferred Main item with a Logical Minimum and Logical Maximum of 0 and 1, respectively. A value of 1 generates an asserted condition and 0 generates a non-asserted condition. An example is a mouse button.

3.4.1.4 One Shot Control (OSC)
A One Shot Control is a push button that triggers a single event or action. A One Shot Control is encoded into a 1-bit value and declared as a Relative, Preferred Main item with a Logical Minimum and Logical Maximum of 0 and 1, respectively. A 0 to 1 transition initiates an event. Nothing occurs on a 1 to 0 transition but it is required before another event can occur. An example is degauss.

3.4.1.5 Re-Trigger Control (RTC)
A Re-Trigger Control is a push button that triggers a repeating event as long as it is asserted. A Re-Trigger Control is encoded into a 1-bit value and declared as an Absolute, Preferred Main item with a Logical Minimum and Logical Maximum of 0 and 1, respectively. A 0 to 1 transition initiates the first event. When each event terminates, if the control is still asserted (1) then another event will occur. An example is an autorepeat fire button.

3.4.2

Usage Types (Data)

The following table summarizes the data-related usage types. Table 3: Usage Types (Data)
Type Selector (Sel) Static Value (SV) Static Flag (SF) Dynamic Value (DV) Dynamic Flag (DF) Flags Array Constant, Variable, Absolute Constant, Variable, Absolute Data, Variable, Absolute Data, Variable, Absolute Description Contained in a Named Array (NAry). A read-only multiple-bit value. A read-only single-bit value. A read/write multiple-bit value. A read/write single-bit value.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

19

3.4.2.1 Selector (Sel)
Selectors come in three forms: ? One selection of a set. Radio buttons are a mechanically linked set of buttons where one selection is always valid. This is a perfect example of the ※one selection of a set§ form. A radio button set is defined by a Main item with the Array flag set and the Report Count set to 1. The index returned in the array field corresponds to the pressed button (or selection). A usage must be declared for each selection. The array field never returns an index of NULL because one usage is always valid. An example is Stat Not Ready on the Alphanumeric Display page. N selections of a set. More than one selection (button) can be valid at a time. Multiple selections can be returned to the system at one time in a multi-byte array. The ※n selections of a set§ form is defined by a Main item with the Array flag set and the Report Count set to n, where n is the number of selections that can be reported in a single report. An example is a keyboard. Any selection of a set. The control is implemented as a set of bit fields in which each bit represents a single selection. This control is defined by a Main item with the Variable flag set and the Report Size equal to 1. The Report Count will be equal to the number of selections in the set.

?

?

Selectors therefore can be implemented in a number of ways: Array[1] (one selection of a set), Array[n] (n selections of a set), or bitmap (any selection of a set). Optionally, the array field or set can be named by wrapping a set of Selectors in a logical collection with a usage attached to it. For details, see Section 3.4.3.1, ※Named Array (NAry).§

3.4.2.2 Static Value (SV)
Static values are used to declare a fixed features in a device. They are defined as Constant and treated as read-only information. Therefore, asserting this field in a Set_Report command has no defined effect.

3.4.2.3 Static Flag (SF)
Static flags are used to declare the existence of a fixed feature in a device. If a Static Flag usage is found in a Report descriptor then the field must be read to determine whether the feature identified by the flag exists. A value of 1 indicates existence and a value of 0 indicates non-existence. The absence of a Static Flag usage implies that the flag is false or the feature defined by the flag is not supported by the device. A Static Flag must be declared as a Constant. To be accessible by applications, a Static Flag must have a usage assigned to it. Static Flags are typically declared in a Feature report as a single-bit field where the value is always read as 1. Attempting to modify this field in a Set_Report command has no effect on a Static Flag.

3.4.2.4 Dynamic Flag (DF)
Dynamic Flags are used to declare the existence of a host-controllable feature in a device. The absence of a Dynamic Flag usage implies that the flag is false or the feature defined by the flag is not supported by the device. Dynamic Flags are typically declared in a report as a single-bit field, where a value of 1 returned by the device indicates that the feature is enabled. The assertion of 1 by the host will cause the feature to be evoked and the assertion of 0 indicates that the feature is to be disabled or ignored if the feature is a one-time event (such as Degauss or Clear Display). A Dynamic Flag Main item must be declared as Data.

Version 1.12

January 21, 2005

20

Universal Serial Bus HID Usage Tables

3.4.2.5 Dynamic Value (DV)
A Dynamic Value is an n-bit field that contains a value associated with a control. The associated Main item will have the Data and Variable flags set. A Dynamic Value Main item must be declared as Data. Note More advanced devices may allow a usage declared as a Static type to be Dynamic. Always check the Constant/Data flag in an Input, Output or Feature Main item.

3.4.3

Usage Types (Collection)

The following table summarizes the collection-related usage types. Table 4: Usage Types (Collection)
Type Named Array (NAry) Application Collection (CA) Collection Type Logical Definition A collection that encompasses an array definition, naming the array set or the field created by the array. Applies a name to a top level collection which the operating system uses to identify a device and possibly remap to a legacy API. A logical collection of items. A physical collection of items. Modifies the purpose or function of the usages (controls) that it contains. Modifies the purpose or function of the usages (controls) that contains it.

Application

Logical Collection (CL) Physical Collection (CP) Usage Switch (US) Usage Modifier (UM)

Logical Physical Logical Logical

3.4.3.1 Named Array (NAry)
To simplify for an application the process of finding a set of selectors, whether defined as an Array Field or a bitmap, the set of selectors can be named by wrapping them in a logical collection and applying a usage to the collection. Usages applied in this way are called Named Array usages. For an example, see Section A.4, ※Named Array Field,§ in Appendix A, ※Usage Examples.§

3.4.3.2 Collection Application (CA)
The Collection Application usage type identifies usages that are used only in application-level collections. An application collection identifies a HID device or a functional subset of a complex device. An operating system uses the usage associated with this collection to link the device to its controlling application or driver. Common examples are a keyboard or mouse. A keyboard with an integrated pointing device could contain two different application collections. Note Data reports cannot span application collections.

3.4.3.3 Collection Logical (CL)
The Collection Logical usage type identifies a usage applied to a logical collection. Logical collections can be used to further define the purpose of the items or controls that they contain.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

21

3.4.3.4 Collection Physical (CP)
The Collection Physical usage type identifies a usage applied to a physical collection, usually a collection of axes. A physical collection is used for a set of data items that represent data points collected at one geometric point. This is useful for sensing devices that may need to associate sets of measured or sensed data with a single point. It does not indicate that a set of data values comes from one device, such as a keyboard. In the case of a device that reports the position of multiple sensors, physical collections are used to show which data comes from which sensor.

3.4.3.5 Usage Switch (US)
The Usage Switch usage type identifies a usage applied to a logical collection that modifies the purpose of the usages in that collection. An example is indicators. To avoid having to define a usage for every control that could possibly use an indicator (for example, Play/Play Indicator, etc.) a Usage Switch collection can be wrapped around a usage (Play) to create a indicator for the same function. Usage Switches often modify the type of the contained usage as well.

3.4.3.6 Usage Modifier (UM)
The Usage Modifier usage type identifies a usage applied to a logical collection. This logical collection is always contained in another logical collection. The purpose and possibly the type of the usage attached to the encompassing collection is modified. For instance the usage attached to the encompassing collection may not normally be defined as a collection. For an example, see Section A.6, ※Multiple Instances of a Multi-Mode LED,§ in Appendix A, ※Usage Examples.§

3.4.4

Alternate Types

Usage types are a guide, not the rule. The flags, Logical Minimum and Logical Maximum values, and other Main item attributes must be evaluated by applications and system software to determine the true purpose, meaning, or interpretation of a control. In many cases, a usage can take on the attributes of a usage type other than its default type. The alternate type can be declared by a collection in which the usage is found or implied by the way it is declared in a Report descriptor. For example, Usage In Use Indicator from the LED page is an example of an alternate usage type being applied to a usage. When a usage is wrapped in a Usage In Use Indicator collection, it becomes an On/Off Control (OOC). In other cases, a usage can be declared as either a Static Value (SV) or a Dynamic Value (DV). For example, in a screen saver, the Screen Saver Delay might be fixed on one device and variable on another. The same thing can happen with usages declared as Static Flag (SF) or Dynamic Flag (DF). Another example is a usage that is declared as either an On/Off Control (OOC) or a Selector (Sel). A device that can support a variety of operational modes will declare individual bits as On/Off Controls to identify which modes are enabled. However, when the device is running, only one mode will be in effect at a time. The device would then declare the same usage as a Selector and report this in a Named Array field to identify the mode associated with the current data. For example, a tape transport could have three states: Stopped, Paused, and Playing. This could be implemented as three individual bits where only one bit is true at a time, or as a 2-bit field in which 0 = Stopped, 1 = Paused, and 3 = Playing.

Version 1.12

January 21, 2005

22

Universal Serial Bus HID Usage Tables

3.5 System Controls
Applications look at the usage applied to top-level application collections to identify devices. System software that supports keyboards, mice, and joysticks follow the same conventions. If a device vendor wants a device to be recognized by the system software as one of these devices, then the device must follow the conventions described in this section.

3.5.1

Keyboard

Typical system software will search for application collections tagged with either a Keyboard or a Keypad usage. When found, the usages contained in these collections will be treated as standard system keyboard input. All devices that use these declarations will have their output routed to the same destination. That is, typing on any device will affect the active application.

3.5.2

Mice

Typical system software will search for application collections tagged with either a Mouse or a Pointer usage. When found, the usages generated by these collections will be treated as standard system pointer input. All devices that use these declarations will have their output routed to the same destination. That is, moving any mouse will affect the system pointer.

3.5.3

Joysticks

Typical system software will search for application collections tagged with either a Joystick or a Game Pad usage. When found, the usages generated by these collections will be treated as standard system joystick (gaming device) input. Devices that use these declarations will have their output routed to separate destinations, allowing multiple-player applications.

3.6 HID LANGIDs
This section identifies a set of conventions that allow static data to be associated with individual controls. These conventions are an extension of the string descriptors that can currently be attached to controls. The first two bytes of a USB string descriptor define the length and type of the descriptor, respectively. The byte wide length field allows a "string" to be up to 253 bytes long. The second byte of a string is always the "String" descriptor type (0x03). These bytes are followed by 16-bit UNICODE characters.

Figure 1: String Descriptor
Part bLength bDescriptorType bString Offset/Size (Bytes) 0/1 1/1 2/bLength-2 Description Size of this descriptor in bytes. String (assigned by USB). UNICODE encoded string Sample Value 0x06 0x03 0x0041, 0x0042 = ("AB")

Strings on a HID device are accessed using a Language ID (LANGID) and a string index. The LANGID is a 16-bit value where the low order 10 bits are "Primary Language ID" and the high order 6 bits are the "Sublanguage ID". The Primary Language ID 0xFF has been permanently assigned to the HID class for it's use. The Sublanguage IDs are defined in Table 5. The String Index, String Minimum and String Maximum local items allow string indices to be associated with individual main items.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Figure 2: LANGID Format
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

23

Sublanguage ID Assigned by HID

Primary Language ID 0x0FF (HID)

Individual usages define which HID LANGIDs they support and any support information the LANGID may require.

Remarks:
? ? If a device declares LANGID's other than HID LANGID then return an empty string if there is no valid Unicode representation for it. All values are transmitted with little-endian byte alignment and in packed structures unless otherwise stated in the Usage description.

HID LANGIDs define how their associated string data is to be interpreted. String descriptors are global to a device and assumed to be static, therefore cacheable. If a device requires that the Private Data varies as a function Configuration or Interface settings then a device must use nonoverlapping indices to ensure that string caches do not need to be invalidated, To implement HID LANGIDs the following steps are required: 1) String index 0 always defines a list of the LANGIDs supported by the HID device. A HID LANGID must be included in the list. 2) Any main item that utilizes HID LANGIDs must have a string index attached to it, using String Index, String Minimum or String Maximum local items. 3) A "string" must be returned by the device, which contains the data identified by the LANGID. To access a HID LANGID string associated with a control, the host will send a GetDescriptor(STRING_DESCRIPTOR, HID_LANGID, String Index) request to the device, where STRING_DESCRIPTOR = 0x03, the HID_LANGID is defined in table ??, and the String Index is defined the String local item associated with the control. Figure 3: GetDescriptor(String) Request
Part bmRequestType bRequest WValue (High) WValue (Low) wIndex wLength Offset/Size (Bytes) 0/1 1/1 2/1 3/1 4/2 6/2 Description Device to Host, Standard, Device GET_DESCRIPTOR STRING_DESCRIPTOR String Index HID(Usage Defined) Length of string Sample Value 10000000B 0x06 0x03

See the Consumer Control:Equalizer Gain usage for an example that employs a HID LANGID.

Version 1.12

January 21, 2005

24

Universal Serial Bus HID Usage Tables Table 5: HID Sublanguage IDs

Sublanguage ID 0x00 0x01

LANGID Name

Description Reserved

Usage Data Descriptor

Allows a usage to define a data structure that is specific to the usage. Reserved

0x02 - 0x3B 0x3C 0x3D 0x3E 0x3F Vendor Defined HID LANGID 1 Vendor Defined HID LANGID 2 Vendor Defined HID LANGID 3 Vendor Defined HID LANGID 4

3.6.1

Usage Data Descriptor (0x01)

This HID LANGID allows a usage to define a private descriptors. A usage that requires private data must define the format of the block of data associated with the usage. The first two bytes of the table are identical to those defined in a standard USB string descriptor: bLength and bDescriptorType. The size and number of remaining fields depends on the Usage.

Figure 4: Usage Data Descriptor
Part bLength bDescriptorType Field 1 Field 2 Field 3 # Field n Offset/Size (Bytes) 0/1 1/1 2/Field 1 size Field 1 offset + Field 1 size /Field 2 size Field 2 offset + Field 2 size /Field 3 size # Field n-1 offset + Field n-1 size /Field n size Value Number Constant Usage Dependent Usage Dependent Usage Dependent Usage Dependent Usage Dependent Description Size of this descriptor in bytes String (assigned by USB) Usage defined fields

3.6.2

Vendor Defined HID LANGID (0x3C - 0x3F)

Four HID LANGIDs are reserved for vendor specific use. The first two bytes of the table are identical to those defined in a standard USB string descriptor, and up to 253 bytes of data can be defined by the vendor. Note that Vendor Defined HID LANGIDs allow a vendor to associate additional data with a standard usage. For Vendor Defined usages, the Usage Descriptor LANGID may also be used, since the definition of the Usage Descriptor depends on the Vendor Defined usage. The data types supported by Usage Descriptors can expand on those already supported by standard USB descriptors. These can include 64-bit signed and unsigned integers, 32, 64 and 128-bit IEEE format floating

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

25

point, etc. The Usage Descriptor defined by the usage will provide detailed information about the data types that are used. Figure 5: Vendor Defined Descriptor
Part bLength bDescriptorType Vendor Defined Data Offset/Size (Bytes) 0/1 1/1 2/n (n <= 253) Value Number Constant Vendor Defined Description Size of this descriptor in bytes String (assigned by USB) Vendor defined fields

Version 1.12

January 21, 2005

26

Universal Serial Bus HID Usage Tables

4 Generic Desktop Page (0x01)
Table 6: Generic Desktop Page
Usage ID 00 01 02 03 04 05 06 07 08 09 0A-2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 Usage Name Undefined Pointer Mouse Reserved Joystick Game Pad Keyboard Keypad Multi-axis Controller Tablet PC System Controls Reserved X Y Z Rx Ry Rz Slider Dial Wheel Hat switch Counted Buffer Byte Count Motion Wakeup Start Select Reserved Vx Vy Vz Vbrx Vbry DV DV DV DV DV 4.3.1 4.3.1 4.3.1 4.3.1 4.3.1 DV DV DV DV DV DV DV DV DV DV CL DV OSC OOC OOC 4.2 4.2 4.2 4.2 4.2 4.2 4.3 4.3 4.3 4.3 4.6 4.6 4.3 4.3 4.3 CA CA CA CA CA CA 4.1 4.1 4.1 4.1 4.1 4.1 CP CA 4.1 4.1 Usage Type Section

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Usage ID 45 46 47 48 49-7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94-9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9-AF B0 Usage Name Vbrz Vno Feature Notification Resolution Multiplier Reserved System Control System Power Down System Sleep System Wake Up System Context Menu System Main Menu System App Menu System Menu Help System Menu Exit System Menu Select System Menu Right System Menu Left System Menu Up System Menu Down System Cold Restart System Warm Restart D-pad Up D-pad Down D-pad Right D-pad Left Reserved System Dock System Undock System Setup System Break System Debugger Break Application Break Application Debugger Break System Speaker Mute System Hibernate Reserved System Display Invert OSC 4.10 OSC OSC OSC OSC OSC OSC OSC OSC OSC 4.5.1 4.5.1 4.5.1 4.9 4.9 4.9 4.9 4.5.1 4.5.1 CA OSC OSC OSC OSC OSC OSC OSC OSC OSC RTC RTC RTC RTC OSC OSC OOC OOC OOC OOC 4.5 4.5 4.5.1 4.5.1 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5.1 4.5.1 4.7 4.7 4.7 4.7 Usage Type DV DV DV,DF DV Section 4.3.1 4.3.1 4.8

27

Version 1.12

January 21, 2005

28

Universal Serial Bus HID Usage Tables
Usage ID B1 B2 B3 B4 B5 B6 B7 B8-FFFF Usage Name System Display Internal System Display External System Display Both System Display Dual System Display Toggle Int/Ext System Display Swap Primary/Secondary System Display LCD Autoscale Reserved Usage Type OSC OSC OSC OSC OSC OSC OSC Section 4.10 4.10 4.10 4.10 4.10 4.10 4.10

4.1 Application Usages
Pointer Mouse CP 每 A collection of axes that generates a value to direct, indicate, or point user intentions to an application. CA 每 A hand-held, button-activated input device that when rolled along a flat surface, directs an indicator to move correspondingly about a computer screen, allowing the operator to move the indicator freely in select operations or to manipulate text or graphics. A mouse typically consists of two axes (X and Y) and one, two, or three buttons. CA 每 A manual control or cursor device. A joystick minimally consists of two variable axes (X and Y) and two buttons. A joystick is typically a rotational motion sensor. However, for legacy reasons, it is defined using linear axes. Traditionally, a joystick driver applies its own scaling to values returned from a joystick. That is, the driver simply linearizes and translates the range of values generated by the stick into normalized values between 0 and 64K, where 32K is centered. The application (game) then interprets the normalized values as necessary. Because of this, joysticks normally do not declare Units or Physical Minimum and Physical Maximum values for their axes. Depending on the driver, these items may be ignored if they are declared. Game Pad CA 每 A manual control or cursor device. A game pad minimally consists of a thumb-activated rocker switch that controls two axes (X and Y) and has four buttons. The rocker switch consists of four contact closures for up, down, right, and left. CA 每 The primary computer input device. A Keyboard minimally consists of 103 buttons as defined by the Boot Keyboard definition. For details, see Appendix A of the HID Specification. CA 每 Any keyboard configuration that does not meet the minimum requirements of the Boot Keyboard. Keypad often refers to a supplementary calculator-style keyboard. CA - An input device used to orient eyepoints and or objects in 3 dimensional space. A Multi-axis Controller typically consists of six, variable axes (X, Y,

Joystick

Keyboard

Keypad

Multi-axis Controller

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

29

Z, Rx, Ry and Rz) and is used by CAD/digital content creation applications for model manipulation and visualization in 3D space. The device may incorporate zero or more buttons. Tablet PC System Controls CA 每 System controls on Tablet PCs. This collection is not intended to contain display or audio data nor touchscreen input. Appropriate controls might be buttons, wheels, or simple indicators. This collection is intended to be opened by the operating system in exclusive mode and is not meant for application developers to open directly.

4.2 Axis Usages
For X, Y, Z, Rx, Ry, and Rz, the declaration of Units is optional. If Units is None or not declared, these values should be considered as dimensionless. X Y Z Rx Ry Rz DV 每 A linear translation in the X direction. Report values should increase as the control*s position is moved from left to right. DV 每 A linear translation in the Y direction. Report values should increase as the control*s position is moved from far to near. DV 每 A linear translation in the Z direction. Report values should increase as the control*s position is moved from high to low (Z). DV 每 A rotation about the X axis. Angular position report values follow the righthand rule. DV 每 A rotation about the Y axis. Angular position report values follow the righthand rule. DV 每 A rotation about the Z axis. Angular position report values follow the righthand rule.

4.3 Miscellaneous Controls
Slider DV 每 A linear control for generating a variable value, normally in the form of a thumb slide in a slot. Report values should increase as controls are moved from near to far. DV 每 A rotary control for generating a variable value, normally in the form of a knob spun by the index finger and thumb. Report values should increase as controls are spun clockwise. This usage does not follow the HID orientation conventions. DV 每 A rotary control for generating a variable value, normally rolled, unlike a dial. Report values should increase as controls are rolled forward, away from the user. This usage does not follow the HID orientation conventions. DV 每 A specialized mechanical configuration of switches generating a variable value with a null state. The switches are arranged around a springloaded knob. When the knob is tilted in the direction of a switch, its contacts are closed. A typical example is four switches that are capable of generating information about four possible directions in which the knob can

Dial

Wheel

Hat Switch

Version 1.12

January 21, 2005

30

Universal Serial Bus HID Usage Tables be tilted. Intermediate positions can also be decoded if the hardware allows two switches to be reported simultaneously. Motion Wakeup DF 每 Enables the generation of a USB remote wakeup when the device detects motion. Motion Wakeup is always enabled after a USB Reset event is detected by the device. Then host can also assume that the state of the Motion Wakeup flag is maintained while the device is suspended. For example, a mouse may generate a remote wakeup when a button is pressed or when it is moved. For some implementations, a laptop user may want to disable the wakeup on motion because it draws more power. Start Select Resolution Multiplier OOC - Session start button. Initiates a session within an application . OOC - Application option select button. Selects application configuration options. DV - DV Defines a Resolution Multiplier for a Control

4.3.1

Resolution Multiplier

A HID device describes the resolution of a control by using the methods described in the HID Specification, v1.11, section 6.2.2.7 ※Global Items 每 Remarks§. However, the resolution of a control in this model is static. If a device has the capability to vary the resolution of one or more of its controls, the resolution of those controls can be set by defining an associated Resolution Multiplier control. The Resolution Multiplier control must be contained in the same Logical Collection as the control(s) to which it is to be applied. If no Resolution Multiplier is defined, then the Resolution Multiplier defaults to 1. If more than one control exists in a Logical Collection, the Resolution Multiplier is associated with all controls in the collection. If no Logical Collection is defined, the Resolution Multiplier is associated with all controls in the report. The Resolution Multiplier is applied after all the normal resolution calculations have been performed for an affected control. The Resolution Multiplier is calculated as below:

? ? RMV ? LMin ? ? UnitExponent EffectiveResolutiuonMultiplier = ? ? ? LMax ? LMin * (PMax ? PMin )? + PMin ? * 10 ? ? ?? ?
where RMV = Resolution Multiplier Value, LMin = Logical Minimum, LMax = Logical Maximum, PMin = Physical Minimum, and PMax = Physical Maximum For example, if a Wheel Control is defined as below:
Usage Page Generic Desktop (0x01) Usage (Wheel) (0x38) Logical Minimum -127 Logical Maximum 127 Report Count 1 Report Size 8 Input (Data, Var, Rel)

then the Wheel control delivers one count per ※detent§ via a 1-byte field of an Input Report. However if a Resolution Multiplier feature is included in the report with the Wheel as below:
Collection (Logical) Usage Page Generic Desktop (0x01)

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Usage Resolution Multiplier (0x48) Logical Minimum 0 Logical Maximum 15 Physical Minimum 1 Physical Maximum 16 Report Size 4 Report Count 1 Feature (Data, Var, Abs) Usage Page Generic Desktop (0x01) Usage (Wheel) (0x38) Logical Minimum -127 Logical Maximum 127 Report Count 1 Report Size 8 Input (Data, Var, Rel) End Collection

31

...then the Effective Resolution Multiplier for the Wheel may vary from 1 to 16 depending on the setting of the Resolution Multiplier feature. If the Resolution Multiplier feature is set to 7, then the Effective Resolution Multiplier is 8, meaning that the resolution of the Wheel control is 8 counts per detent. Negative Effective Resolution Multipliers may be used to reverse the sense of a control. Because OS implementations will generally divide the control's reported count by the Effective Resolution Multiplier, designers should take care not to establish a potential Effective Resolution Multiplier of zero. This may be done by ensuring that Physical Min and Physical Max are nonzero and have the same sign. The Resolution Multiplier is a scalar (unitless) multiplier. It may not be used to convert units from one system to another.

4.4 Vector Usages
For the usages Vx, Vy, Vz, Vbrx, Vbry, Vbrz, and Vno, Units are always required to determine the meaning of the vector. Rotational vectors are also identified by Units. These usages are used when declaring velocity, acceleration, force, electric field, and similar kinds of vectors in the respective direction and frame of reference. Vx DV 每 A vector in the X direction. Report values should increase as the vector increases in the positive X direction (from left to right). Negative values represent vectors in the negative X direction. DV 每 A vector in the Y direction. Report values should increase as the vector increases in the positive Y direction (from far to near). Negative values represent vectors in the negative Y direction. DV 每 A vector in the Z direction. Report values should increase as the vector increases in the positive Z direction (from high to low). Negative values represent vectors in the negative Z direction. DV 每 A vector in the X direction relative to the body of an object. Report values should increase as the vector increases in the positive X direction (forward). Negative values represent vectors in the negative X direction. X is the ※forward§ axis for an object. DV 每 A vector in the Y direction relative to the body of an object. Report values should increase as the vector increases in the positive Y direction (to the right from an observer facing forward on the object). Negative values

Vy

Vz

Vbrx

Vbry

Version 1.12

January 21, 2005

32

Universal Serial Bus HID Usage Tables represent vectors in the negative Y direction. Vbrz DV 每 A vector in the Z direction relative to the body of an object. Report values should increase as the vector increases in the positive Z direction (down from an observer facing forward on the object). Negative values represent vectors in the negative Z direction. DV每 A non oriented vector or value. The units define a physical measurement not related to a specific axis or orientation. An example would be pressure or temperature.

Vno

4.5 System Controls
System controls are a special category of usages that affect the system as a whole. They are pulled together in a System Control collection to make them easy for system software to identify. System Control CA 每 A application-level collection that contains system-software-specific usages. System software will search specifically for this collection for those controls that affect the system globally. OSC 每 Evokes a context-sensitive menu. OSC 每 Evokes the OS main-level selection menu. OSC 每 Displays an application-specific menu. OSC 每 Displays the help menu. OSC 每 Exits a menu. OSC 每 Selects a menu item. RTC 每 Menu select right. RTC 每 Menu select left. RTC 每 Menu select up. RTC 每 Menu select down.

System Context Menu System Main Menu System App Menu System Menu Help System Menu Exit System Menu Select System Menu Right System Menu Left System Menu Up System Menu Down

4.5.1

Power Controls

Power controls can step the system through the following states: Full Power, Low Power, and Power Down. The state diagram is shown in the following figure.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Figure 6: System Power States
System Sleep

33

Full Power

System Power Down

Low Power System Wake Up Power Down

Power control usages found in a System Control collection affect system level power. Those declared outside of a System Collection affect device level power.

System Power Down System Sleep

OSC 每 Asserted when the intended action is to initiate system-wide power down now from Full Power or Sleep states. OSC 每 Asserted when the intended action is to initiate system-wide low power mode now. If the system is already in the Low Power state, there is no effect. OSC 每 Asserted when the intended action is to initiate system-wide Full Power state now. If the system is already in the Full Power, there is no effect. OSC 每 Asserted when the intended action is to restart the system at the most primitive level, similar to at Power Up OSC 每 Asserted when the intended action is to restart the operating system but not necessarily the lowest level functions such as BIOS enumeration and RAM checks. OSC 每 Asserted when the intended action is to prepare a portable system for docking with a docking station. OSC 每 Asserted when the intended action is to prepare a portable system for removal from a docking station. OSC 每 Asserted when the intended action is to enter the BIOS-level system setup program OSC 每 Asserted when the intended action is to mute the system speaker. OSC 每 Asserted when the intended action is to place the system in a "deeper" sleep state than System Sleep

System Wake Up System Cold Restart System Warm Restart

System Dock System Undock System Setup System Speaker Mute System Hibernate

Version 1.12

January 21, 2005

34

Universal Serial Bus HID Usage Tables

4.6 Buffered Bytes
The following usages provide a standard way of defining the operation of a buffered-byte field where the number of valid bytes in the field is less than the total number of bytes in the field and the vendor does not define a NoOp value to mark unused bytes. When declaring a buffered-byte field, the global item Report Size should always be set to 8 (for byte cells), and the Report Count should be equal to the maximum size of the buffer to be transferred. Counted Buffer CL 每 Used with buffered 每byte data to indicate the number of valid bytes in the buffered-byte field. This collection always contains two field declarations: Byte Count and a usage that names the purpose of the buffered-byte field. The Main item associated with the purpose usage will always have the Buffered Bytes attribute set. DV 每 Defines a report field that indicates the number of meaningful data bytes in an associated buffered-byte field.

Byte Count

4.7 Direction Pads
A Direction Pad or D-Pad control is mechanically identical to a hatswitch, however for legacy reasons their data is interpreted as X and Y axes rather than as an angular direction. D-pads are typically defined as a pair of X and Y axes that are contained in a logical Pointer collection. There are cases where an application may be interested in the raw D-pad data. The following usages are defined in a report descriptor as single bit fields that identify the current state of the position switches in the D-pad. Note: A device may declare a Pointer collection with X and Y axes, and D-pad usages for the same control. An application can determine which data format best suits it's needs. D-pad Up D-pad Down D-pad Right D-pad Left OOC 每 Indicates that top of a Direction Pad is pressed OOC 每 Indicates that bottom of a Direction Pad is pressed OOC 每 Indicates that right side of a Direction Pad is pressed OOC 每 Indicates that left side of a Direction Pad is pressed

4.8 Feature Notifications
It may be useful to alert the host that the contents of a Feature report have changed without redundantly declaring a usage in an Input report, especially is the changes are only occasional. The Feature Notification usages provides a mechanism for doing this. Feature Notification DV 每 This usage is declared in an Input report and is used as a notification to the host that the contents of a specific Feature report has changed. If Report IDs are declared in the device's report descriptor then the Report Size of the Feature Notification must be greater than 1, and the Feature Notification field contains the Report ID of the Feature report that whose contents have changed. A zero value indicates that no Feature reports have changed. Multiple Feature report IDs can be reported in a single Input report by declaring the Report Count to be greater than 1. If Report IDs are not declared in the device's report descriptor then the

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

35

Report Size of the Feature Notification equals 1, and the Input report field equals 1 if the Feature report contents have changed. A zero value indicates that no Feature reports have changed. When a valid Feature Notification is received, the host must issue a GetReport(Feature) request to the device with the appropriate report ID.

4.9 Software Flow Controls
The following usages provide standard controls to break into the current operation of the system. System Break OSC 每 Asserted when the intended action is to acquire the attention of the operating system in order to control applications. This operation could interrupt all running applications. OSC - Asserted when the intended action is to break into the operating system debugger. If no OS debugger is running, the control is ignored. OSC - Asserted when the intended action is to acquire the attention of an application. This operation interrupts only the foremost running application.

System Debugger Break Application Break

Application Debugger Break OSC - Asserted when the intended action is to break into the application debugger. If no application debugger is running, the control is ignored.

4.10 System Display Controls
Many systems currently support multiple displays. Of special note are portable systems with captive displays that may be connected to external displays. The following usages provide standard controls for common display control functions: System Display Invert System Display Internal OSC - Causes the display to render in inverted colors. OSC - Causes the system to use the captive display as the primary display.

System Display External OSC - Causes the system to use the external display as the primary display. System Display Both System Display Dual OSC - Causes the system to use both internal and external displays as the primary display OSC - Causes the system to use both internal and external displays as primary and secondary displays.

System Display Toggle Int/Ext Mode OSC - Causes a system to step between the modes as described above: System Display Internal System Display External System Display Both System Display Swap Pri/Sec OSC - Causes a system using two displays in dual mode to swap the primary and secondary displays. System Display Toggle LCD Autoscale OSC - Causes a system with a non-scaleable geometry, such as an LCD, to scale the display image to fit the physical geometry of the display.

Version 1.12

January 21, 2005

36

Universal Serial Bus HID Usage Tables

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

37

5 Simulation Controls Page (0x02)
This section provides detailed descriptions of the usages employed by simulation devices. Table 7: Simulation Controls Page
Usage ID 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 每 1F 20 21 22 23 24 25 26 每AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA Usage Name Undefined Flight Simulation Device Automobile Simulation Device Tank Simulation Device Spaceship Simulation Device Submarine Simulation Device Sailing Simulation Device Motorcycle Simulation Device Sports Simulation Device Airplane Simulation Device Helicopter Simulation Device Magic Carpet Simulation Device Bicycle Simulation Device Reserved Flight Control Stick Flight Stick Cyclic Control Cyclic Trim Flight Yoke Track Control Reserved Aileron Aileron Trim Anti-Torque Control Autopilot Enable Chaff Release Collective Control Dive Brake Electronic Countermeasures Elevator Elevator Trim Rudder DV DV DV OOC OSC DV DV OOC DV DV DV 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 CA CA CP CP CA CP 5.2 5.2 5.2 5.2 5.2 5.4 CA CA CA CA CA CA CA CA CA CA CA CA 5.2 5.3 5.4 5.2 5.5 5.5 5.6 5.1 5.2 5.2 5.7 5.6 Usage Type Section

Version 1.12

January 21, 2005

38

Universal Serial Bus HID Usage Tables
Usage ID BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1-FFFF Usage Name Throttle Flight Communications Flare Release Landing Gear Toe Brake Trigger Weapons Arm Weapons Select Wing Flaps Accelerator Brake Clutch Shifter Steering Turret Direction Barrel Elevation Dive Plane Ballast Bicycle Crank Handle Bars Front Brake Rear Brake Reserved Usage Type DV OOC OSC OOC DV MC OOC OSC DV DV DV DV DV DV DV DV DV DV DV DV DV DV Section 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.2 5.3 5.3 5.3 5.3 5.3 5.4 5.4 5.5 5.5 5.6 5.6 5.6 5.6

5.1 Sports Simulation Device
Usages employed by Stick Devices and Exercise Machines are defined on the Sports Controls page. For details, see Section 7, ※Sport Controls Page (0x04).§ Sports Simulation Device CA 每 This usage definition allows a device to be generally classified as one that uses standard controls found on a sports simulation device.

5.2 Flight Simulation Devices
Flight Simulation Device Spaceship Simulation Device Airplane Simulation CA 每 This usage definition allows a device to be generally classified as one that uses the standard controls found on an airplane. CA 每 This usage definition allows a device to be generally classified as one that uses standard controls found on a spaceship. CA 每 This usage definition allows a device to be generally classified as one

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Device Helicopter Simulation Device Aileron that uses standard controls found on an airplane.

39

CA 每 This usage definition allows a device to be generally classified as one that uses standard controls found on a helicopter. DV 每 An aileron is one of two movable flaps on the wings of an airplane that can be used to control the plane*s rolling and banking movements. In the zero position the ailerons are centered, positive values will move the right aileron up and the left aileron down, and negative values will have the opposite effect on the ailerons. DV 每 Allows fine adjustment of the Aileron position. The zero position is the nominal position, positive values will move the right aileron up and the left aileron down, and negative values will have the opposite effect on the ailerons. DV 每 This control mechanically behaves the same as rudder pedals; as one is pushed forward, the other pushes back. In a helicopter, this controls the pitch of the tail blade to spin the helicopter in place. The zero position is centered, positive values rotate right, and negative values rotate left. OOC 每 This control enables or disables an airplane*s autopilot. This should be a toggle switch, but it is typically implemented as a pushbutton. OSC 每 Chaff is strips of metal, foil, or glass fiber with a metal content, cut into various lengths and having varying frequency responses. It is used to reflect electromagnetic energy as a radar countermeasure. These materials, usually dropped from aircraft, also can be deployed from shells or rockets. Typically this a pushbutton that initiates a release of a fixed amount of material. DV 每 This control is specifically for a helicopter. It controls the vertical acceleration or lift of the helicopter. The zero position is centered (level flight), positive values accelerate up, and negative values accelerate down. CP 每 This control is specifically for a helicopter. A cyclic control is a stick between the pilot*s legs that moves in two axes. It controls the swash plate, which in turn controls horizontal acceleration of the helicopter. The zero position is centered, positive Y values accelerate forward, and negative Y values accelerate backward. Positive X values accelerate right, and negative X values accelerate left. This collection will contain X and Y axes. CP 每 This control is specifically for a helicopter. Cyclic Trim allows fine adjustment of the cyclic position in two dimensions. The zero position is the nominal position, positive values adjust the baseline acceleration right or forward, and negative values adjust the baseline acceleration left or backward, respectively. This collection will contain X and Y axes. DV 每 A flap that can be extended on an aircraft to increase drag and reduce the speed of descent. It is typically implemented as a lever that generates a dimensionless value between no braking (0) and full braking. OOC 每 A pushbutton that enables electronic countermeasures. This is typically active radar jamming; however Chaff (radar) or Flare (infrared) can be invoked. DV 每 A movable control surface, usually attached to the horizontal stabilizer of an aircraft, that is used to produce motion up or down. The zero position is centered, positive values raise the elevator, and negative values lower the

Aileron Trim

Anti-Torque Control

Autopilot Enable Chaff Release

Collective Control

Cyclic Control

Cyclic Trim

Dive Brake

Electronic Countermeasures Elevator

Version 1.12

January 21, 2005

40

Universal Serial Bus HID Usage Tables elevator. Elevator Trim DV 每 Elevator Trim allows fine adjustment of the Elevator position. The zero position is the nominal position, positive values are elevator offset up, and negative values are elevator offset down. OOC 每 In combat aircraft, a communication (comm) button is usually positioned under the index finger. Typically this is a two-position pushbutton where the first position enables communications with the crew and the second position enables the transmitter for communication external to the plane. OSC 每 A flare is a device that produces a bright light for signaling, illumination, identification, or heat for infrared missile countermeasures. Typically this is a pushbutton that releases a fixed number of flares. CA 每 A Flight Control Stick controls the Pitch and Roll of an airplane. It looks like a joystick. The stick may be pushed forward or pulled back to move the tail elevator down or up, respectively. Pushing forward causes the plane to nose down. Tilting the stick right and left alters the position of the ailerons. In the zero position the ailerons are centered, tilting the stick to the right will move the right aileron up and the left aileron down, and tilting the stick to the left direction will have the opposite effect on the ailerons. Mechanically, a stick presents two degrees of rotational freedom with approximately a +/每45∼ range. However, these axes are represented as Generic Desktop Page translational axes X (Roll) and Y (Pitch). Flight Stick CA 每 A Flight Stick defines a class of device commonly used for flight simulator games. For a device to qualify as a Flight Stick, it must support at least two axes (Pitch and Roll), a trigger button, three additional buttons, and a hat switch. A Flight Stick is a functional subset of a Flight Control Stick. OOC 每 A control for raising or lowering an airplane*s landing gear. This should be a toggle switch, but it is typically implemented as pushbutton. DV 每 The zero position is centered, positive values turn right, and negative values turn left. DV 每 A device for slowing or stopping the motion of an airplane when it is on the ground. Typically, Toe Brakes consist of two foot pedals that affect the left and right brakes, respectively. Control of the Toe Brakes can allow steering of the plane as well as braking when it is on the ground. An analog Toe Brake generates a dimensionless value between 0 and full scale. In some implementations, the Toe Brake can simply be a pushbutton (full on or off). DV 每 A valve that regulates the flow of a fluid, such as the valve in an internal-combustion engine that controls the amount of vaporized fuel entering the cylinders. A lever or pedal controlling such a valve generates a dimensionless value between 0 and full scale. MC 每 A lever pressed by the finger to release or activate a mechanism, typically used to discharge a firearm. However, a Trigger can be used for many devices. In combat airplanes the Trigger is usually positioned under the thumb; for a gun it would be positioned under the index finger. Typically this is implemented as a pushbutton. OOC 每 This device is normally a covered toggle switch that must be selected to enable the weapons system.

Flight Communications

Flare Release

Flight Control Stick

Landing Gear Rudder Toe Brake

Throttle

Trigger

Weapons Arm

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Weapons Select Wing Flaps

41

OSC 每 This device can either be a pushbutton that steps through the available weapons or a radio button that selects them individually. DV 每 Wing flap controls are usually powered either hydraulically or by electric motors, and are used for low-speed control of an airplane. A flap generates a value between 0 and full extension. CA 每 A flight yoke (also called a control wheel) controls the pitch and roll of an airplane. It looks like a bow tie grasped by both hands. The yoke at which the pilot sits may be pushed forward or pulled back to move the tail elevator down or up, respectively. In the zero position the elevator is centered for level flight. Pushing forward on the yoke causes the plane to nose down and generates negative values. Pulling back on the yoke causes the plane to nose up and generates positive values. Rotating the yoke alters the position of the ailerons. In the zero position the ailerons are centered. Rotating the yoke in a clockwise direction will move the right aileron up and the left aileron down and generate incrementing values. Rotating the yoke in the counterclockwise direction will have the opposite effect on the ailerons and generate decrementing values.

Flight Yoke

5.3 Automobile Simulation Devices
Automobile Simulation Device Accelerator CA 每 This usage definition allows a device to be generally classified as one that uses the standard controls found in an automobile or truck. DV 每 A device, especially the gas pedal of a motor vehicle, for increasing speed. An Accelerator is a dimensionless single degree-of-freedom dynamic value, where the range of values is from zero to maximum acceleration. DV 每 A device for slowing or stopping motion, as of a vehicle, especially by contact friction. A Brake can be an On/Off Control or a dimensionless single degree-of-freedom dynamic value, where the range of values is from zero to maximum braking. DV 每 A device for disengaging the transmission of a vehicle to allow shifting of gears. A Clutch can be a generic button or a dimensionless single degreeof-freedom dynamic value, where the range of values is from zero to maximum clutch actuation. DV 每 A device for shifting gears in a vehicle. A Shifter is a specialized mechanical configuration of a radio button. A zero value is returned when the shifter is in the neutral position. Positive values indicate the forward gear and negative values indicate the reverse gear that the device is in. DV 每 A steering wheel is a single degree-of-freedom device that rotates about an axis. The zero position is always the neutral or ※straight ahead§ position, with positive values turning clockwise and negative values turning counterclockwise. If the Coordinate Values Wrap attribute is set, the steering wheel can be turned past 360 degrees.

Brake

Clutch

Shifter

Steering

Version 1.12

January 21, 2005

42

Universal Serial Bus HID Usage Tables

5.4 Tank Simulation Devices
Tank Simulation Device Track Control CA 每 This usage definition allows a device to be generally classified as one that uses standard controls found in a tank or a treaded vehicle. CP 每 A device for controlling the direction and velocity of a vehicle that is driven by tracks. There can be either two sticks with one degree of freedom or a single stick with two degrees of freedom: In the two-stick case, the neutral position is when the stick is centered (zero). Pushing the stick forward causes forward acceleration (positive values), and pulling it back causes reverse acceleration (negative values). The righthand and lefthand controls will affect the corresponding side of the vehicle. In the one-stick case, forward/backward acceleration works the same as in the two-stick case. However, right or left movement of the stick determines the amount of power applied to the respective track. When the stick is centered horizontally, equal amounts of power are applied to both tracks, generating a zero output value. Moving the stick to the right will generate positive values, and moving the stick to the left will generate negative values. A Tank Track Control is a dimensionless analog entity. Turret Direction DV 每 This control determines the right-to-left positioning of the tank turret. A value of zero maintains the current orientation of the turret. A positive value turns the turret to the right and a negative value turns the turret to the left. DV 每 This control determines the elevation of the gun barrel in a turret. A value of zero maintains the current orientation of the barrel. A positive value raises the barrel and a negative value lowers the barrel.

Barrel Elevation

5.5 Maritime Simulation Devices
Submarine Simulation Device Dive Plane CA 每 Allows a device to be generally classified as one that uses the standard controls of a submarine. DV 每 Dive planes control the vertical ascent or descent of the submarine under power. A zero value indicates level travel. Positive values indicate ascent, and negative values indicate descent. A Dive Plane is a dimensionless analog entity. DV 每 Ballast controls the vertical ascent or descent of the submarine. A zero value indicates level travel. Positive values indicate ascent, and negative values indicate descent. A Ballast is a dimensionless analog entity. CA 每 Allows a device to be generally classified as one that uses the standard controls of a sailboat.

Ballast

Sailing Simulation Device

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

43

5.6 Two-wheeled Simulation Devices
Motorcycle Simulation Device Bicycle Simulation Device Bicycle Crank CA 每 Allows a device to be generally classified as one that uses the standard controls of a motorcycle. CA 每 Allows a device to be generally classified as one that uses the standard controls of a bicycle. DV 每 A foot-operated assembly of pedals attached to a crank that is used for powering a bicycle. The reported value is the rate that the crank turns per minute. DV 每 A steering control, held in both hands, for a motorcycle or bicycle. A zero output value indicates that the direction of travel is straight ahead. Pulling back on the right side turns the vehicle to the right and generates a positive output. Pulling back on the left side turns the vehicle to the left and generates a negative output. DV 每 Engages the front brake of the motorcycle to slow the vehicle. A Front Brake can be a generic button or a dimensionless single degree-of-freedom analog entity, where the range of values is from zero to maximum braking. DV每 Engages the rear brake of the motorcycle to slow the vehicle. A Rear Brake can be a generic button or a dimensionless single degree-of-freedom analog entity, where the range of values is from zero to maximum braking.

Handle Bars

Front Brake

Rear Brake

5.7 Miscellaneous Simulation Devices
Magic Carpet Simulation Device CA 每 Allows a device to be generally classified as one that uses the standard control of a magic carpet. This control is a bar, grasped by both hands, that controls the Yaw, Pitch and Roll of the carpet. The bar, at which the pilot sits, may be pushed forward or pulled back to cause the carpet to dive or rise, respectively. In the zero position, the carpet is in level flight. Pushing forward on the bar causes the carpet to nose down and generates negative values. Pulling back on the bar causes the carpet to nose up and generates positive values. Turning the bar turns the carpet. In the zero position, the carpet travels straight ahead. Pulling back on the right side turns the carpet to the right and generates positive values. Pulling back on the left side turns the carpet to the left and generates negative values. Rotating the bar rolls the carpet. In the zero position, the carpet travels level. Rotating the bar in a clockwise direction rolls the carpet to the right and generates positive values. Rotating the bar in the counterclockwise direction rolls the carpet to the left and generates negative values.

Version 1.12

January 21, 2005

44

Universal Serial Bus HID Usage Tables

6 VR Controls Page (0x03)
Virtual Reality controls depend on designators to identify the individual controls. Most of the following are usages are applied to the collections of entities that comprise the actual device. Table 8: VR Controls Page
Usage ID 00 01 02 03 04 05 06 07 08 09 0A 0B-1F 20 21 22-FFFF Usage Name Unidentified Belt Body Suit Flexor Glove Head Tracker Head Mounted Display Hand Tracker Oculometer Vest Animatronic Device Reserved Stereo Enable Display Enable Reserved OOC OOC CA CA CP CA CP CA CA CA CA CA Usage Type

Belt Body Suit

CA 每 A Belt wraps around the user*s waist. A tracker would be centered in the small of the user*s back to identify the orientation of the user*s hips. CA 每 Generally classifies a device as one that uses the standard controls found in a Body Suit. A Body Suit typically has a large number of position sensors typically fixed to the major joints of the body, such as the ankles, knees, hips, shoulders, elbows, wrists and head, for measuring the angle and movement of the wearer*s joints and limbs. CP 每 A Flexor describes the angle of bend of a joint or limb in the body. The designator is used to determine which joint a specific Flexor entity represents. CA 每 A Glove reports the positions of the fingers. Up to 20 angular values can be reported. Designators are used to determine the degrees of freedom that the Glove device is capable of reporting. CP 每 A Head Tracker represents the position and/or orientation of the head in space. The axes are oriented such that, in the zero position, the user is looking from the positive Z axis to the negative Z axis. The positive Y axis is extends vertically from the top of the user's head. CA 每 A Head Mounted Display (HMD) presents the following parameters to the user: Vbrx, Vbry, and Vbrz. Stereo Enable and Display Enable are optional usages that can be included in an HMD collection.

Flexor Glove

Head Tracker

Head Mounted Display

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Stereo Enable Display Enable Hand Tracker OOC 每 Selects the display mode of the HMD. A value of 0 selects monoscopic mode and 1 selects stereoscopic mode.

45

OOC 每 Enables the HMD video output. A value of 0 turns off the display and 1 turns it on. CA 每 A Hand Tracker represents the position of the hand in space. A Hand Tracker attaches to the back of the hand. In the zero position, it is assumed that the hand is held upright with the extended thumb parallel to the Y axis and the fingers pointing in the negative Z direction CA 每 An Oculometer identifies the direction in which the eye is looking in rotation about the X and Y axes. The designator for an Oculometer is always Eye. CA 每 A Vest wraps around the user*s chest and abdomen. A tracker would be placed on the user*s back between the shoulder blades. CA 每 An input device for the animation of mechanical or Computer Graphic Image ※electronic§ puppets. An animatronic device is engineered to fit a puppeteer*s or performer*s body (and/or head and/or face) and comfortably allow a wide range of physical freedom. An Animatronic Device measures the angle and movement of the wearer*s joints and limbs, which are then translated into the motion of a puppet, allowing the puppet to mimic the wearer*s movements. There is not necessarily a 1:1 mapping of human to puppet controls. A puppeteer*s arm may be used to control the movement of an elephant*s trunk, or hand controls may be used to control facial expressions. Designators are used to determine which puppeteer joint is being tracked. The controlling application will map these inputs to the electronic or mechanical device.

Oculometer

Vest Animatronic Device

Version 1.12

January 21, 2005

46

Universal Serial Bus HID Usage Tables

7 Sport Controls Page (0x04)
Table 9: Sport Controls Page
Usage ID 00 01 02 03 04 05-2F 30 31 32 33 34 35 36 37 38 39 3A-4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E Usage Name Unidentified Baseball Bat Golf Club Rowing Machine Treadmill Reserved Oar Slope Rate Stick Speed Stick Face Angle Stick Heel/Toe Stick Follow Through Stick Tempo Stick Type Stick Height Reserved Putter 1 Iron 2 Iron 3 Iron 4 Iron 5 Iron 6 Iron 7 Iron 8 Iron 9 Iron 10 Iron 11 Iron Sand Wedge Loft Wedge Power Wedge Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 DV DV DV DV DV DV DV DV NAry DV 7.2 7.2 7.2 7.1 7.1 7.1 7.1 7.1 7.1 7.1 CA CA CA CA 7.1 7.1 7.2 7.2 Usage Type Section

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Usage ID 5F 60 61 62 63 64-FFFF Usage Name 1 Wood 3 Wood 5 Wood 7 Wood 9 Wood Reserved Usage Type Sel Sel Sel Sel Sel Section 7.1 7.1 7.1 7.1 7.1

47

7.1 Stick Devices
Stick devices are used in applications in which the user swings one object to make contact with another. Typical examples are a baseball bat and a golf club. These devices sense various quantities at the point of impact to determine the direction that the target (struck) object will go. The target object is a sphere. The Stick usages Speed, Face Angle, Heel/Toe, Follow Through, Tempo, and Height identify the measurement quantities. Baseball Bat Golf Club Stick Speed CA 每 Primary input device for baseball simulation applications. Normally consists of a collection of Stick usages. CA 每 Primary input device for golf simulation applications. Normally consists of a collection of Stick usages. DV 每 The velocity with which the stick strikes the target object. This can be expressed as collection of velocity values to provide a direction, or as an absolute magnitude where the Stick Face Angle provides the direction. DV 每 The direction in which the stick strikes the target object. In a golf simulation, this will be the horizontal angle and the vertical angle will be determined by the Stick Type. For Baseball Bats and other stick devices the direction is expressed as a three-dimensional vector. DV 每 Identifies the contact point relative to the striking surface. This helps to identify the ※sweet spot.§ This is reported as a relative value where zero is the sweet spot, positive values are away from the user, and negative values are towards the user. DV 每 In a golf simulation, the user strikes the ball, swings the club forward over the shoulders, then brings the club back to the tee. Stick Follow Through is a measure of the time that this process takes. Other stick devices may provide this parameter as well. DV 每 In a golf simulation, the user starts the swing at the ball, swings the club back over the shoulders, then strikes the ball. Stick Tempo is a measure of the time that this process takes. Other stick devices may provide this parameter as well. NAry 每 An array that identifies the type of golf club used. Sel 每 Golf club stick types. Stick type determines the stick face angle.

Stick Face Angle

Stick Heel/Toe

Stick Follow Through

Stick Tempo

Stick Type Irons 1 每 11, Woods 1, 3, 5, 7, 9, Sand Wedge, Loft Wedge, Power Wedge,

Version 1.12

January 21, 2005

48

Universal Serial Bus HID Usage Tables and Putter Stick Height DV 每 Height of contact point above the ground for stick device.

7.2 Exercise Machines
Bicycles can be found in Section 7.1 .

Rowing Machine

CA 每 An exercise device that simulates rowing a boat. Usages typically found in this collection are Oars and Rate. Rate is typically expressed in strokes per minute. DV 每 Rowing repetition rate in strokes per minute. Left, right and twohanded oars are distinguished with designators. CA 每 An exercise device consisting of an endless moving belt on which a person can walk or jog while remaining in one place. Usages typically found in this collection are Slope and Rate. The Rate is typically expressed in strokes per minute. DV 每 Rate in miles per hour. DV 每 Slope is measured in degrees. Positive angles are uphill, negative angles are downhill, and 0∼ is level.

Oar Treadmill

Rate Slope

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

49

8 Game Controls Page (0x05)
Table 10: Game Controls Page
Usage ID 00 01 02 03 04-1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 39 3A-FFFF Usage Name Undefined 3D Game Controller Pinball Device Gun Device Reserved Point of View Turn Right/Left Pitch Forward/Backward Roll Right/Left Move Right/Left Move Forward/Backward Move Up/Down Lean Right/Left Lean Forward/Backward Height of POV Flipper Secondary Flipper Bump New Game Shoot Ball Player Gun Bolt Gun Clip Gun Selector Gun Single Shot Gun Burst Gun Automatic Gun Safety Gamepad Fire/Jump Gamepad Trigger Reserved CP DV DV DV DV DV DV DV DV DV MC MC MC OSC OSC OSC OOC OOC NAry Sel Sel Sel OOC CL CL 8.1 8.1 8.1 8.1 8.1 8.1 8.1 8.1 8.1 8.1 8.2 8.2 8.2 8.2 8.2 8.2 8.3 8.3 8.3 8.3 8.3 8.3 8.3 8.4.1 8.4.1 CA CA CA 8.1 8.2 8.3 Usage Type Section

Version 1.12

January 21, 2005

50

Universal Serial Bus HID Usage Tables

8.1 3D Game Controller
The following controls support first-person games or those that are played through the eyes of the character that represents the player in the 3D world. 3D Game Controller Point of View CA 每 A collection of 3D movement usages. CP 每 A collection of rotational axes (Rx, Ry, and Rz) that represent the orientation of the user*s head in 3D space. If applied to a Hat Switch, only the Rz (Yaw) axis will be controlled. DV 每 Identifies the horizontal facing direction of the player*s hips (Rz = Yaw). Turn Right/Left is a relative value where 0∼ is straight ahead, positive values turn right, and negative values turn left. The rate of rotation is determined by the application. DV 每 Identifies the vertical facing direction of the player*s hips (Rx = Pitch). Pitch Right/Left is a relative value where 0∼ is a vector pointing up from the players hips to the players head, positive values bend back, and negative values bend forward. The rate of rotation is determined by the application. DV 每 Identifies the vertical facing direction of the player*s hips (Ry = Roll). Roll Forward/Backward is a relative value where 0∼ is a vector pointing up from the players hips to the players head, positive values lean left, and negative values lean right. The rate of rotation is determined by the application. DV 每 This control allows the player to sidestep or move right and left without changing the orientation of the hips. Move Right/Left is a relative value where 0 is no lateral motion, positive values move right, and negative move left. The rate of movement is determined by the application. DV 每 This control allows the player to move forward and backward in the direction (yaw) the hips are facing. Move Forward/Backward is a relative value where 0 is no motion, positive values move backward, and negative move forward. 1 The rate of movement is determined by the application. DV 每 This control allows the player to move up and down. It is assumed that the player can fly, is swimming, or is at a ladder or a climbable wall. Move Up/Down is a relative value where 0 is no motion, positive values move down, and negative move up.1 The rate of movement is determined by the application. DV 每 This control allows the player to lean right and left from the hips, without changing the orientation of the hips, for example, to look around a corner. Lean Right/Left is a relative value where 0 is no lateral motion, positive values move right, and negative move left. The rate of movement is determined by the application. DV 每 This control allows the player to lean forward and backward from the hips in the direction (yaw) the hips are facing. Lean Forward/Backward is a relative value where 0 is no motion, positive values move backward, and negative move forward.1 The rate of movement is determined by the application.

Turn Right/Left

Pitch Forward/Backward

Roll Right/Left

Move Right/Left

Move Forward/Backward

Move Up/Down

Lean Right/Left

Lean Forward/Backward

1

These directions may appear counter-intuitive but they are consistent with the HID orientation conventions.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Height of POV

51

DV 每 This control allows the player to stand, squat, and crawl. Height of POV is a relative value where 0 is the normal standing position and positive values lower the player*s Point Of View. The maximum value as indicated by Logical Maximum is the crawling position, the median positive value is the squatting position, and negative values indicate the player is standing on tiptoes or flying. 1

8.2 Pinball Device
Pinball is a game played on a device in which the player operates a plunger to shoot a ball down or along a slanted surface that has obstacles and targets. Pinball Device Flipper CA 每 A collection of usages representing the controls of a pinball game. MC 每 A button that actuates a bar that swings around a pivot to change the direction of the ball. A pair of right and left flippers normally resides at the near end of the table. MC 每 A button that actuates a bar that swings around a pivot to change the direction of the ball. Secondary flippers normally reside on the sides halfway up the table. MC 每 A control that indicates that the flipper assembly has been shoved by the player to change the direction of the ball. This can be as simple as a switch or as complex as a 3D force vector. OSC 每 A button that terminates any current game and reinitializes for a new game. OSC 每 A control that indicates that the player has placed the ball into play. This can be as a switch or a force vector. OSC 每 A button that cycles through the number of players supported by the game.

Secondary Flipper

Bump

New Game Shoot Ball Player

8.3 Gun Device
A Gun Device is used in battle and war game simulations. Gun Device Gun Bolt CA 每 A collection of Gun usages that describes a hand-held projectile weapon. OOC 每 A control that indicates the state of the gun bolt. A value of 1 indicates that the bolt is locked and ready to fire, and 0 indicates that the bolt is open, ready for the next shell. OOC 每 A control that indicates whether the gun clip is inserted. A value of 1 indicates that the clip is inserted, and 0 indicates that the clip is missing. NAry 每 This control identifies the firing mode of the weapon. Typically it is a mutually exclusive set of usages for single shot, burst, and fully automatic firing that are presented as an array input. Sel 每 Selects a single shot each time the trigger is pulled.

Gun Clip Gun Selector

Gun Single Shot

Version 1.12

January 21, 2005

52

Universal Serial Bus HID Usage Tables Gun Burst Gun Automatic Gun Safety Sel 每 Selects a short burst (three shots) each time the trigger is pulled. Sel 每 Places the gun in fully automatic mode where it will fire continuously while the trigger is pulled. OOC 每 A control that indicates whether safety is enabled. A value of 1 indicates that the gun is enabled to fire, and 0 indicates that gun will not fire when the trigger is pulled.

8.4 Gamepads
The following Usages are targeted at gamepads however they can be used for any devices. Gamepads use Start and Select buttons allow simple menu control. Select allows auser to linearly step through application options. If an option can be varied (i.e. volume, game speed, etc.) then the D-pad is typically used to modify it's value. A user indicates the final acceptance of an option by pressing Start. Seethe Generic Desktop page for the Start and Select button usage definitions. Gamepad recommendations 1) All gamepad controls should have associated Physical descriptors. 2) If a gamepad control is labeled an associated String descriptor should be declared.

8.4.1

Gamepad Button Collections

Usages in the Gamepad Button Collections are assigned from the Button Page where Button 1 is the easiest for the user to access. Ideally, Button 1 is under the users finger when it is at rest. Button 2 is the next easiest to access and so on. The default gamepad is assumed to have the D-pad under the users left thumb and the Fire/Jump buttons under the right thumb. The individual Gamepad Button collections can also support "chorded" commands. A Chorded command is invoked by simultaneously pressing multiple buttons with multiple fingers. By separating the buttons into thumb and index finger groups it will be possible for an application to identify whether a gamepad can support chorded commands. An application should assume that if more than one button is pressed (true) in a collection that only the first button pressed is true. Or the lowest Button (Usage ID) is pressed if two or more buttons in the same collection become true in the same report. Gamepad Fire/Jump and Trigger buttons are defined with the following conventions: Button 0 is the primary (or easiest to access) button, Button 1 is the secondary button, Button 3 is the tertiary button, and so on. Designators can be applied if more detail is required.

Gamepad Fire/Jump Gamepad Trigger

CL 每 A collection of gamepad buttons controlled by the user's thumb. CL 每 A collection of gamepad buttons controlled by the user's index fingers.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

53

9 Generic Device Controls Page (0x06)
This page provides usage definitions for controls can be on any type of device. Table 11: Generic Device Controls Page
Usage ID 00 01-1F 20 21 22 23 24 25 26 27-FFFF Usage Name Unidentified Reserved Battery Strength Wireless Channel Wireless ID Discover Wireless Control Security Code Character Entered Security Code Character Erased Security Code Cleared Reserved DV DV DV OSC OSC OSC OSC Usage Type

Battery Strength

DV - The current battery status. Proportion of battery life remaining where Logical Minimum and Logical Maximum define the range. Null values indicate unknown battery status. DV - The logical wireless channel that a wireless device is using. Actual values depend on the wireless protocol used. DV - Uniquely identifies a wireless device in a wireless subsystem. Actual values depend on the wireless protocol used. OSC - Initiates or enables discovery of nearby wireless devices. OSC - Indicates that a single security code character was entered. OSC - Indicates that a single security code character was erased. OSC - Indicates that the entire security code was erased.

Wireless Channel Wireless ID Discover Wireless Control Security Code Character Entered Security Code Character Erased Security Code Cleared

Note: The relationship between a Wireless Channel and a Wireless ID is unspecified. Either or both can be used by a device.

Version 1.12

January 21, 2005

54

Universal Serial Bus HID Usage Tables

10 Keyboard/Keypad Page (0x07)
This section is the Usage Page for key codes to be used in implementing a USB keyboard. A Boot Keyboard (84-, 101- or 104-key) should at a minimum support all associated usage codes as indicated in the ※Boot§ column below. The usage type of all key codes is Selectors (Sel), except for the modifier keys Keyboard Left Control (0x224) to Keyboard Right GUI (0x231) which are Dynamic Flags (DV). Note A general note on Usages and languages: Due to the variation of keyboards from language to language, it is not feasible to specify exact key mappings for every language. Where this list is not specific for a key function in a language, the closest equivalent key position should be used, so that a keyboard may be modified for a different language by simply printing different keycaps. One example is the Y key on a North American keyboard. In Germany this is typically Z. Rather than changing the keyboard firmware to put the Z Usage into that place in the descriptor list, the vendor should use the Y Usage on both the North American and German keyboards. This continues to be the existing practice in the industry, in order to minimize the number of changes to the electronics to accommodate other languages. Table 12: Keyboard/Keypad Page
Usage ID Usage ID (Dec) (Hex) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 Usage Name Reserved (no event indicated)9 Keyboard ErrorRollOver9 Keyboard POSTFail9 Keyboard ErrorUndefined9 Keyboard a and A4 Keyboard b and B Keyboard c and C4 Keyboard d and D Keyboard e and E Keyboard f and F Keyboard g and G Keyboard h and H Keyboard i and I Keyboard j and J Keyboard k and K Keyboard l and L Keyboard m and M4 Keyboard n and N Keyboard o and O4 Keyboard p and P4 Keyboard q and Q4 Ref: Typical AT-101 Position N/A N/A N/A N/A 31 50 48 33 19 34 35 36 24 37 38 39 52 51 25 26 17 PC- Mac UNI AT X Boot

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Ref: Typical AT-101 Position 20 32 21 23 49 18 47 22 46 2 3 4 5 6 7 8 9 10 11 43 110 15 16 61 12 13 27 28 29 42 40 41 1 53 54 55 30 112

55

Usage ID Usage ID (Dec) (Hex) 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A

Usage Name Keyboard r and R Keyboard s and S4 Keyboard t and T Keyboard u and U Keyboard v and V Keyboard w and W4 Keyboard x and X4 Keyboard y and Y4 Keyboard z and Z4 Keyboard 1 and !4 Keyboard 2 and @4 Keyboard 3 and #4 Keyboard 4 and $4 Keyboard 5 and %4 Keyboard 6 and ^4 Keyboard 7 and &4 Keyboard 8 and *4 Keyboard 9 and (4 Keyboard 0 and )4 Keyboard Return (ENTER)5 Keyboard ESCAPE Keyboard DELETE (Backspace)13 Keyboard Tab Keyboard Spacebar Keyboard - and (underscore)4 Keyboard = and +4 Keyboard [ and {4 Keyboard ] and }4 Keyboard \ and | Keyboard Non-US # and ~2 Keyboard ; and :4 Keyboard & and ※4 Keyboard Grave Accent and Tilde4 Keyboard, and <4 Keyboard . and >4 Keyboard / and ?4 Keyboard Caps Lock11 Keyboard F1

PC- Mac UNI AT X

Boot

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104

Version 1.12

January 21, 2005

56

Universal Serial Bus HID Usage Tables
Ref: Typical AT-101 Position 113 114 115 116 117 118 119 120 121 122 123 124 125 126 75 80 85 76 81 86 89 79 84 83 90 95 100 105 106 108 93 98 103 92 97 102 91 96

Usage ID Usage ID (Dec) (Hex) 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60

Usage Name Keyboard F2 Keyboard F3 Keyboard F4 Keyboard F5 Keyboard F6 Keyboard F7 Keyboard F8 Keyboard F9 Keyboard F10 Keyboard F11 Keyboard F12 Keyboard PrintScreen1 Keyboard Scroll Lock11 Keyboard Pause1 Keyboard Insert1 Keyboard Home1 Keyboard PageUp1 Keyboard Delete Forward1;14 Keyboard End1 Keyboard PageDown1 Keyboard RightArrow1 Keyboard LeftArrow1 Keyboard DownArrow1 Keyboard UpArrow1 Keypad Num Lock and Clear11 Keypad /1 Keypad * Keypad Keypad + Keypad ENTER5 Keypad 1 and End Keypad 2 and Down Arrow Keypad 3 and PageDn Keypad 4 and Left Arrow Keypad 5 Keypad 6 and Right Arrow Keypad 7 and Home Keypad 8 and Up Arrow

PC- Mac UNI AT X

Boot

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 4/101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Ref: Typical AT-101 Position 101 99 104 45 129

57

Usage ID Usage ID (Dec) (Hex) 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86

Usage Name Keypad 9 and PageUp Keypad 0 and Insert Keypad . and Delete Keyboard Non-US \ and |3;6 Keyboard Application10 Keyboard Power9 Keypad = Keyboard F13 Keyboard F14 Keyboard F15 Keyboard F16 Keyboard F17 Keyboard F18 Keyboard F19 Keyboard F20 Keyboard F21 Keyboard F22 Keyboard F23 Keyboard F24 Keyboard Execute Keyboard Help Keyboard Menu Keyboard Select Keyboard Stop Keyboard Again Keyboard Undo Keyboard Cut Keyboard Copy Keyboard Paste Keyboard Find Keyboard Mute Keyboard Volume Up Keyboard Volume Down Keyboard Locking Caps Lock12 Keyboard Locking Num Lock12 Keyboard Locking Scroll Lock12 Keypad Comma27 Keypad Equal Sign29

PC- Mac UNI AT X

Boot

﹟ ﹟ ﹟ ﹟ ﹟

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟ ﹟
104

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟
107

Version 1.12

January 21, 2005

58

Universal Serial Bus HID Usage Tables
Ref: Typical AT-101 Position 56

Usage ID Usage ID (Dec) (Hex) 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165-175 176 177 178 179 180 181 182 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5-CF B0 B1 B2 B3 B4 B5 B6

Usage Name Keyboard International115,28 Keyboard International216 Keyboard International317 Keyboard International418 Keyboard International519 Keyboard International620 Keyboard International721 Keyboard International822 Keyboard International922 Keyboard LANG125 Keyboard LANG226 Keyboard LANG330 Keyboard LANG431 Keyboard LANG532 Keyboard LANG68 Keyboard LANG78 Keyboard LANG88 Keyboard LANG98 Keyboard Alternate Erase7 Keyboard SysReq/Attention1 Keyboard Cancel Keyboard Clear Keyboard Prior Keyboard Return Keyboard Separator Keyboard Out Keyboard Oper Keyboard Clear/Again Keyboard CrSel/Props Keyboard ExSel Reserved Keypad 00 Keypad 000 Thousands Separator 33 Decimal Separator 33 Currency Unit 34 Currency Sub-unit 34 Keypad (

PC- Mac UNI AT X

Boot

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Ref: Typical AT-101 Position

59

Usage ID Usage ID (Dec) (Hex) 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC

Usage Name Keypad ) Keypad { Keypad } Keypad Tab Keypad Backspace Keypad A Keypad B Keypad C Keypad D Keypad E Keypad F Keypad XOR Keypad ^ Keypad % Keypad < Keypad > Keypad & Keypad && Keypad | Keypad || Keypad : Keypad # Keypad Space Keypad @ Keypad ! Keypad Memory Store Keypad Memory Recall Keypad Memory Clear Keypad Memory Add Keypad Memory Subtract Keypad Memory Multiply Keypad Memory Divide Keypad +/Keypad Clear Keypad Clear Entry Keypad Binary Keypad Octal Keypad Decimal

PC- Mac UNI AT X

Boot

Version 1.12

January 21, 2005

60

Universal Serial Bus HID Usage Tables
Ref: Typical AT-101 Position

Usage ID Usage ID (Dec) (Hex) 221 222-223 224 225 226 227 228 229 230 231 DD DE-DF E0 E1 E2 E3 E4 E5 E6 E7

Usage Name Keypad Hexadecimal Reserved Keyboard LeftControl Keyboard LeftShift Keyboard LeftAlt Keyboard Left GUI10;23 Keyboard RightControl Keyboard RightShift Keyboard RightAlt Keyboard Right GUI10;24 Reserved

PC- Mac UNI AT X

Boot

58 44 60 127 64 57 62 128

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟ ﹟

﹟ 4/101/104 ﹟ 4/101/104 ﹟ 4/101/104 ﹟
104

﹟ 101/104 ﹟ 4/101/104 ﹟ 101/104 ﹟
104

232-65535 E8-FFFF

Footnotes 1-15, 20-34
1 2 3 4 5 6 7 8 9 10 11 12

Usage of keys is not modified by the state of the Control, Alt, Shift or Num Lock keys. That is, a key does not send extra codes to compensate for the state of any Control, Alt, Shift or Num Lock keys. Typical language mappings: US: \| Belg: ?`? FrCa: <}> Dan:** Dutch: <> Fren:*? Ger: #* Ital: 迄∫ LatAm: }`] Nor:,* Span: }? Swed: ,* Swiss: $? UK: #~. Typical language mappings: Belg:<\> FrCa:?∼? Dan:<\> Dutch:]|[ Fren:<> Ger:<|> Ital:<> LatAm:<> Nor:<> Span:<> Swed:<|> Swiss:<\> UK:\| Brazil: \|. Typically remapped for other languages in the host system. Keyboard Enter and Keypad Enter generate different Usage codes. Typically near the Left-Shift key in AT-102 implementations. Example, Erase-Eaze? key. Reserved for language-specific functions, such as Front End Processors and Input Method Editors. Reserved for typical keyboard status or keyboard errors. Sent as a member of the keyboard array. Not a physical key. Windows key for Windows 95, and ※Compose.§ Implemented as a non-locking key; sent as member of an array. Implemented as a locking key; sent as a toggle button. Available for legacy support; however, most systems should use the non-locking version of this key. Backs up the cursor one position, deleting a character as it goes.

13

14 Deletes one character without changing position. 15-20 See additional foot notes below.
21 22 23 24 25 26 27 28

Toggle Double-Byte/Single-Byte mode. Undefined, available for other Front End Language Processors. Windowing environment key, examples are Microsoft Left Win key, Mac Left Apple key, Sun Left Meta key Windowing environment key, examples are Microsoft? RIGHT WIN key, Macintosh? RIGHT APPLE key, Sun? RIGHT
META key.

Hangul/English toggle key. This usage is used as an input method editor control key on a Korean language keyboard. Hanja conversion key. This usage is used as an input method editor control key on a Korean language keyboard. Keypad Comma is the appropriate usage for the Brazilian keypad period (.) key. This represents the closest possible match, and system software should do the correct mapping based on the current locale setting. Keyboard International1 should be identified via footnote as the appropriate usage for the Brazilian forward-slash (/) and question-mark (?) key. This usage should also be renamed to either "Keyboard Non-US / and ?" or to "Keyboard International1" now that it's become clear that it does not only apply to Kanji keyboards anymore.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
29 30 31 32 33 34

61

Used on AS/400 keyboards. Defines the Katakana key for Japanese USB word-processing keyboards. Defines the Hiragana key for Japanese USB word-processing keyboards. Usage 0x94 (Keyboard LANG5) "Defines the Zenkaku/Hankaku key for Japanese USB word-processing keyboards. The symbol displayed will depend on the current locale settings of the operating system. For example, the US thousands separator would be a comma, and the decimal separator would be a period. The symbol displayed will depend on the current locale settings of the operating system. For example the US currency unit would be $ and the sub-unit would be ?.

Footnotes 15每20 Note 15 AT-104 No function DOS/V-109 (suggested) PC98 (suggested)

16

No function

17

No function

18

No function

19

No function

20

No function

No function

Version 1.12

January 21, 2005

62

Universal Serial Bus HID Usage Tables

11 LED Page (0x08)
An LED or indicator is implemented as an On/Off Control (OOF) using the ※Single button toggle§ mode, where a value of 1 will turn on the indicator, and a value of 0 will turn it off. The exceptions are described below. Table 13: LED Usage Page
Usage ID 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E Usage Name Undefined Num Lock Caps Lock Scroll Lock Compose Kana Power Shift Do Not Disturb Mute Tone Enable High Cut Filter Low Cut Filter Equalizer Enable Sound Field On Surround On Repeat Stereo Sampling Rate Detect Spinning CAV CLV Recording Format Detect Off-Hook Ring Message Waiting Data Mode Battery Operation Battery OK Battery Low Speaker OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC 11.1 11.1 11.1 11.1 11.1 11.6 11.1 11.2 11.3 11.3 11.3 11.3 11.3 11.3 11.3 11.3 11.3 11.3 11.4 11.3 11.3 11.4 11.2 11.2 11.2 11.2 11.6 11.6 11.6 11.2 Usage Type Section

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Usage ID 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 Usage Name Head Set Hold Microphone Coverage Night Mode Send Calls Call Pickup Conference Stand-by Camera On Camera Off On-Line Off-Line Busy Ready Paper-Out Paper-Jam Remote Forward Reverse Stop Rewind Fast Forward Play Pause Record Error Usage Selected Indicator Usage In Use Indicator Usage Multi Mode Indicator Indicator On Indicator Flash Indicator Slow Blink Indicator Fast Blink Indicator Off Flash On Time Usage Type OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC OOC US US UM Sel Sel Sel Sel Sel DV Section 11.2 11.2 11.2 11.2 11.2 11.2 11.2 11.2 11.6 11.3 11.3 11.6 11.6 11.6 11.6 11.5 11.5 11.6 11.4 11.4 11.4 11.4 11.4 11.4 11.4 11.4 11.6 11.6 11.6 11.6 11.6 11.6 11.6 11.6 11.6 11.6

63

Version 1.12

January 21, 2005

64

Universal Serial Bus HID Usage Tables
Usage ID 43 44 45 46 47 48 49 4A 4B 4C 4D 4E-FFFF Usage Name Slow Blink On Time Slow Blink Off Time Fast Blink On Time Fast Blink Off Time Usage Indicator Color Indicator Red Indicator Green Indicator Amber Generic Indicator System Suspend External Power Connected Reserved Usage Type DV DV DV DV UM Sel Sel Sel OOC OOC OOC Section 11.6 11.6 11.6 11.6 11.6 11.6 11.6 11.6 11.6 11.6 11.6

Note The Usage Selected Indicator, Usage In Use Indicator, and Usage Multi Mode Indicator usages can change the usage type of the usage(s) that they contain.

11.1 Keyboard Indicators
Num Lock Caps Lock Scroll Lock Compose Kana Shift OOC 每 Indicates that Number Lock is enabled. OOC 每 Indicates that Capital Lock is enabled. OOC 每 Indicates that Scroll Lock is enabled. OOC 每 Indicates that composition mode is enabled. OOC 每 Indicates that Kana mode is enabled. OOC 每 Indicates that the Shift function is enabled.

11.2 Telephony Indicators
Do Not Disturb Off-Hook Ring Message Waiting Data Mode Speaker OOC 每 (Phone) Indicates that the phone is not accepting incoming calls. OOC 每 (Phone) Indicates that the handset is off-hook. OOC 每 (Phone) Indicates visually that a phone is ringing. OOC 每 (Phone, answering machine) Indicates that a message has been recorded and has not yet been heard. OOC 每 (Phone) Indicates that the phone is in a mode that transfers data (rather than voice). OOC 每 (Phone) Indicates that the phone is using the speaker/microphone

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables instead of a handset or headset. Head Set Hold Microphone Coverage Night Mode Send Calls Call Pickup

65

OOC 每 (Phone) Indicates that the phone is using the headset instead of a handset or speaker/microphone. OOC 每 (Phone) Indicates that the caller is on hold. OOC 每 (Phone) Indicates that the microphone has been muted. OOC 每 (Phone) Indicates that incoming calls are forwarded to a covering station. OOC 每 (Phone) Indicates that the phone is in after-hours mode. OOC 每 (Phone) Indicates that incoming calls are forwarded to another station. OOC 每 (Phone) Indicates that a call in the user*s pickup group has been accepted. Pickup groups associate phones in an area. They allow a ringing phone to be picked up by any other phone in the group. OOC 每 (Phone) Indicates that the phone is in conference call mode.

Conference

11.3 Consumer Indicators
Mute Tone Enable High Cut Filter Low Cut Filter Equalizer Enable Sound Field On Surround On Repeat Stereo Sampling Rate Detect CAV CLV Camera On Camera Off OOC 每 Indicates that amplifier audio output is shut off. OOC 每 Indicates that tone controls are functional. OOC 每 Indicates that the high cut filter is enabled. OOC 每 Indicates that the low cut filter is enabled. OOC 每 Indicates that tone shape processing is active. OOC 每 Indicates that DSP processing is active. OOC 每 Indicates that surround channel information is being decoded. OOC 每 Indicates that the playback device is in repeat mode. OOC 每 Indicates that the signal currently being received by the tuner is in stereo. OOC 每 Indicates that a digital audio signal has been detected. OOC 每 Indicates that the video disc media is in Constant Angular Velocity format. OOC 每 Indicates that the video disc media is in Constant Linear Velocity format. OOC 每 Indicates that the camera is recording images. OOC 每 Indicates that the camera is powered but not recording images.

11.4 Media Transport Indicators

Version 1.12

January 21, 2005

66

Universal Serial Bus HID Usage Tables Spinning Recording Format Detect Stop Forward Reverse Rewind Fast Forward Play Pause Record OOC 每 Indicates that disc media is up to the speed required for playback/read. OOC 每 Indicates that a valid recording format has been detected. OOC 每 Indicates that a device*s media transport mechanism has been disengaged. OOC 每 Indicates that a device*s media transport mechanism or a device is in forward mode. OOC 每 Indicates that a device*s media transport mechanism or a device is in reverse mode. OOC 每 Indicates that a device*s media transport mechanism is in rewind mode. OOC 每 Indicates that a device*s media transport mechanism is in fast forward mode. OOC 每 Indicates that a device*s media transport mechanism is in playback mode. This indicator may also be true when a device is recording. OOC 每 Indicates that a device*s media transport mechanism has been paused while playing back or recording. OOC 每 Indicates that a device*s media transport mechanism is in record mode.

11.5 Printer Indicators
Paper-Out Paper-Jam OOC 每 Indicates that the device is out of paper. OOC 每 Indicates that a paper jam has occurred in the device and operator intervention is required.

11.6 General Device Indicators
Power Stand-by On-Line Off-Line Busy Ready Remote Error OOC 每 Indicates that the device is powered. OOC 每 Indicates that the device is in standby mode. OOC 每 Indicates that the device is online. OOC 每 Indicates that the device is offline. OOC 每 Indicates that the device is busy executing operations. OOC 每 Indicates that the device is ready to execute operations. OOC 每 Indicates that the device is being controlled remotely. OOC 每 Indicates that an error has occurred on the device.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Battery Operation Battery OK Battery Low Usage Selected Indicator OOC 每 Indicates that the device is currently battery powered. OOC 每 Indicates that the battery is in a nominal charge state. OOC 每 Indicates that the battery is in a low charge state.

67

US 每 This collection allows the usages that it contains to be associated with a visual output (an LED) that indicates whether a control identified by the usage is selected. Usage Selected Indicator is a 1-bit field where 1 is selected and 0 is not selected. All usages found in this collection will be treated as On/Off Controls (OOC). US 每 This collection allows the usages that it contains to be associated with a visual output (an LED) that indicates whether a control identified by the usage is in use. Usage In Use Indicator is a 1-bit field where 1 is in use and 0 is not in use. All usages found in this collection will be treated as On/Off Controls (OOC). UM 每 This usage names a logical collection which must be contained in another collection. The usage attached to the encompassing collection is then identified as an indicator that supports multiple illumination modes. In this collection one or more of the following Indicator selectors will be found: On, Flash, Slow Blink, Fast Blink, and Off. Sel 每 Light indicator continuously. Sel 每 Single, momentary illumination of indicator. Sel 每 Continuous flashing of the indicator at a slow rate. Sel 每 Continuous flashing of the indicator at a fast rate. Sel 每 Turn indicator illumination off. DV 每 Duration that the indicator is illuminated in flash mode. DV 每 Duration that the indicator is illuminated in slow blink mode. DV 每 Duration that the indicator is off in slow blink mode. DV 每 Duration that the indicator is illuminated in fast blink mode. DV 每 Duration that the indicator is off in fast blink mode. UM 每 This collection allows the usage that contains it to be an indicator that supports multiple colors. All usages found in this collection will be treated as a Selectors (Sel) where one or more of the following Indicator selectors will be found: Indicator Off, Red, Green, and Amber. Sel 每 Indicator color set to Red. Sel 每 Indicator color set to Green. Sel 每 Indicator color set to Amber. This is typically implemented by asserting Red and Green simultaneously. OOC 每 This usage identifies an indicator that has no permanently assigned

Usage In Use Indicator

Usage Multi Mode Indicator2

Indicator On Indicator Flash Indicator Slow Blink Indicator Fast Blink Indicator Off Flash On Time Slow Blink On Time Slow Blink Off Time Fast Blink On Time Fast Blink Off Time Usage Indicator Color2

Indicator Red Indicator Green Indicator Amber Generic Indicator

2

An indicator can support Multi Mode features and multiple colors simultaneously. To tie these functions together, they can be wrapped in a logical collection where the usage that is attached to the collection defines the purpose of the control.

Version 1.12

January 21, 2005

68

Universal Serial Bus HID Usage Tables function. System Suspend External Power Connected OOC 每 Indicates that the system is in a low power state, but is still powered and retaining some context. OOC 每 Indicates that a battery-operated system is connected to external power.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

69

12 Button Page (0x09)
The Button page is the first place an application should look for user selection controls. System graphical user interfaces typically employ a pointer and a set of hierarchical selectors to select, move and otherwise manipulate their environment. For these purposes the following assignment of significance can be applied to the Button usages: ? Button 1, Primary Button. Used for object selecting, dragging, and double click activation. On MacOS, this is the only button. Microsoft operating systems call this a logical left button, because it is not necessarily physically located on the left of the pointing device. Button 2, Secondary Button. Used by newer graphical user interfaces to browse object properties. Exposed by systems to applications that typically assign application-specific functionality. Button 3, Tertiary Button. Optional control. Exposed to applications, but seldom assigned functionality due to prevalence of two- and one-button devices. Buttons 4 每 255. As the button number increases, its significance as a selector decreases.

? ? ?

In many ways the assignment of button numbers is similar to the assignment of Effort in Physical descriptors. Button 1 would be used to define the button a finger rests on when the hand is in the ※at rest§ position, that is, virtually no effort is required by the user to activate the button. Button values increment as the finger has to stretch to reach a control. See Section 6.2.3, ※Physical Descriptors,§ in the HID Specification for methods of further qualifying buttons. Table 14: Button Usage Page
Usage ID 00 01 02 03 04 ... FFFF Usage Name No button pressed Button 1 (primary/trigger) Button 2 (secondary) Button 3 (tertiary) Button 4 ... Button 65535 See Note Usage Type See Note See Note See Note See Note See Note

Note Buttons can be defined as Selectors (Sel), On/Off Controls (OOC), Momentary Controls (MC) or One-Shot Controls (OSC) depending on the context of their declaration. When defining buttons as selectors, usage ID 0 is defined to indicate that no buttons are pressed. When declaring an array of buttons one can: ? ? Declare all buttons of interest, include the usage No Button Pressed, set the No Null Position flag, and declare a Logical Minimum of 0. Only declare the buttons of interest, set the Null State flag, and declare a Logical Minimum of 1. In this case the 0 value is out of range or Null, and is interpreted as No Buttons Pressed.

In either case, by convention, a device that returns a value of 0 for an Array should be indicating that no button is pressed. Radio buttons are an exception to this rule because one button is always valid. For an example, see Section A.3.1, ※Mechanically Linked Radio Buttons§ in Appendix A, ※Usage Examples.§

Version 1.12

January 21, 2005

70

Universal Serial Bus HID Usage Tables

13 Ordinal Page (0x0A)
The Ordinal page allows multiple instances of a control or sets of controls to be declared without requiring individual enumeration in the native usage page. For example, it is not necessary to declare usages of Pointer 1, Pointer 2, and so forth on the Generic Desktop page. When parsed, the ordinal instance number is, in essence, concatenated to the usages attached to the encompassing collection to create Pointer 1, Pointer 2, and so forth. For an example, see Section A.5, ※Multiple Instances of a Control,§ in Appendix A, ※Usage Examples.§ By convention, an Ordinal collection is placed inside the collection for which it is declaring multiple instances. Instances do not have to be identical. Table 15: Ordinal Usage Page
Usage ID 00 01 02 03 04 ... FFFF Usage Name Reserved Instance 1 Instance 2 Instance 3 Instance 4 ... Instance 65535 UM UM UM UM UM Usage Type

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

71

14 Telephony Device Page (0x0B)
This usage page defines the keytop and control usages for telephony devices. Note that in many cases usage definitions are intentionally vague, this is because it is assumed that the controls are interpreted by the telephone software application (PBX). For instance, one software implementation may allow the Park usage to hold the line open while waiting for the target number to go on-hook, while another implementation will allow the user to hang up and then ring the user back when the target number is available. Often recommendations are made so that users of USB telephones see consistent interfaces across multiple vendors, minimizing learning curves and frustration when dealing with new or multiple systems. Indicators on a phone are handled by wrapping them in LED: Usage In Use Indicator and LED: Usage Selected Indicator usages. For example, a message-indicator LED would be identified by a Telephony: Message usage declared as a Feature or Output in a LED: Usage In Use Indicator collection. See Section 15, ※Consumer Page (0x0C),§ for audio volume and tone controls. Table 16: Telephony Usage Page
Usage ID 00 01 02 03 04 05 06 07 08-1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E Usage Name Unassigned Phone Answering Machine Message Controls Handset Headset Telephony Key Pad Programmable Button Reserved Hook Switch Flash Feature Hold Redial Transfer Drop Park Forward Calls Alternate Function Line Speaker Phone Conference Ring Enable Ring Select OOC MC OSC OOC OSC OSC OSC OOC OOC MC OSC, NAry OOC OOC OOC OSC 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 14.3 CA CA CL CL CL NAry NAry 14.1 14.1 14.1 14.1 14.1 14.2 14.2 Usage Type Section

Version 1.12

January 21, 2005

72

Universal Serial Bus HID Usage Tables
Usage ID 2F 30 31 32-4F 50 51 52 53 54-6F 70 71 72 73 74 75-8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9E-AF B0 B1 B2 B3 B4 B5 Usage Name Phone Mute Caller ID Send Reserved Speed Dial Store Number Recall Number Phone Directory Reserved Voice Mail Screen Calls Do Not Disturb Message Answer On/Off Reserved Inside Dial Tone Outside Dial Tone Inside Ring Tone Outside Ring Tone Priority Ring Tone Inside Ringback Priority Ringback Line Busy Tone Reorder Tone Call Waiting Tone Confirmation Tone 1 Confirmation Tone 2 Tones Off Outside Ringback Ringer Reserved Phone Key 0 Phone Key 1 Phone Key 2 Phone Key 3 Phone Key 4 Phone Key 5 Sel Sel Sel Sel Sel Sel 14.2 14.2 14.2 14.2 14.2 14.2 MC MC MC MC MC MC MC MC MC MC MC MC OOC MC OOC 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 14.6 OOC OOC OOC OSC OOC 14.5 14.5 14.5 14.5 14.5 OSC OSC OSC OOC 14.4 14.4 14.4 14.4 Usage Type OOC MC OOC Section 14.3 14.3 14.3

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables
Usage ID B6 B7 B8 B9 BA BB BC BD BE BF C0-FFFF Usage Name Phone Key 6 Phone Key 7 Phone Key 8 Phone Key 9 Phone Key Star Phone Key Pound Phone Key A Phone Key B Phone Key C Phone Key D Reserved Usage Type Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Section 14.2 14.2 14.2 14.2 14.2 14.2 14.2 14.2 14.2 14.2

73

14.1 Telephony Devices
Phone Answering Machine Message Controls Handset Headset CA 每 An application-level collection that identifies a device containing telephone controls. CA 每 An application level collection that identifies a device containing primarily voice mail or answering machine controls. CL 每 Usages related to voice mail controls. CL 每 Usages related to the handle-shaped part of a telephone, containing the audio receiver and transmitter. CL 每 Usages related to the telephone headset (headphones and microphone), containing the audio receiver and transmitter.

14.2 Telephony Key Pad Usages
Telephony Key Pad NAry - A collection usage for a standard telephony key pad (dial buttons 1 to 9, *, 0, and #). A Telephony Key Pad implies that the keytops are marked with a digit and associated alphabetic characters. This collection can also be used as a general-purpose 1 to 9 and 0 keypad. The Telephony Keypad collection contains the Phone Keypad selector usages. The phone keypad is defined distinctly from a Generic Desktop:Keypad because of its unique keytop markings. All Phone Keys usages are defined as selectors (Sel).

Phone Key 0 Phone Key 1 Phone Key 2 Phone Key 3 Phone Key 4

Sel - Phone key digit 0 and Oper. Sel - Phone key digit 1. Sel - Phone key digit 2 and A, B, C. Sel - Phone key digit 3 and D, E, F. Sel - Phone key digit 4 and G, H, I.

Version 1.12

January 21, 2005

74

Universal Serial Bus HID Usage Tables Phone Key 5 Phone Key 6 Phone Key 7 Phone Key 8 Phone Key 9 Phone Key Star Phone Key Pound Phone Key A Phone Key B Phone Key C Phone Key D Sel - Phone key digit 5 and J, K, L. Sel - Phone key digit 6 and M, N, O. Sel - Phone key digit 7 and P, Q (optional), R, S. Sel - Phone key digit 8 and T, U, V. Sel - Phone key digit 9 and W, X, Y, Z (optional). Sel - Phone key Star (*). Sel - Phone key Pound (#). Sel - Phone key A Sel - Phone key B Sel - Phone key C Sel - Phone key D

Programmable Button

NAry - Programmable telephone buttons. This collection contains usages from the Button usage page. Programmable Buttons 1 through n are represented by Button page usages 1 through n, respectively.

14.3 Call Control
Hook Switch Flash Feature Hold Redial Transfer Drop Park Forward Calls Alternate Function OOC 每 Indicates that the handset is Off Hook. Hook Switch is a single bit where 1 is Off Hook. MC 每 Generates a momentary On Hook condition to signal the application. Often used for alternate line selection. OSC 每 Selects operating feature. OOC 每 Places current call on hold. OSC 每 Redials last number dialed. OSC 每 Transfers call to another extension. OSC 每 Disconnects the active call. OOC 每 Waits for free line. OOC 每 Forwards calls to another number. MC 每 A modifier key, similar to a Shift key, that provides an alternate function to be selected on specific buttons. Pressing this button enables the alternate function mapping. Pressing an alternate function key terminates alternate-function mode. OSC, NAry - Line selection. If the a the phone only supports a single line then the Line usage is defined as an OSC usage type. If the phone supports multiple lines then the Line usage can be defined as a NAry usage type, where the Line usage is applied to a Named Array collection. The Named Array collection contains Ordinal usage selectors, where Ordinal Instances represent the respective line numbers. If a phone can support multiple lines active at once then the Report Count associated with the array item can be

Line

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables greater than 1. See example in Appendix A.10. Speaker Phone Conference Ring Enable Ring Select Phone Mute Caller ID Send OOC 每 Enables speaker phone mode. OOC 每 Initiates conference call. OOC 每 Enables ringer. OSC 每 Selects ring tone. Typically, the caller presses Ring Select, then presses a dial digit to select the tone. OOC 每 Disables audio to the called person. The caller can still hear the incoming audio. MC 每 Displays ID of caller.

75

MC - This indicates that the user has completed entering digits and is ready to begin routing the phone call. Note that this feature will NOT be used to alternate line selection as this is the functionality of the flash button. It should not be used to end the call either, as this is the function of the hook switch.

14.4 Speed Dial Controls
Speed Dial Store Number Recall Number Phone Directory OSC 每 Initiates speed dial operation. OSC 每 Saves speed dial number. OSC 每 Recalls speed dial number on display. OOC 每 Displays phone directory.

14.5 Voice Mail Controls
Voice Mail Screen Calls Do Not Disturb Message Answer On/Off OOC 每 Enters voice mail application. OOC 每 Disables audio to called person and forwards calls to a voice mail application. The caller can still hear the incoming audio OOC 每 Disables ring and speaker phone operation and forwards calls to a voice mail application. OSC 每 Listens to voice message. OOC 每 Toggles answering machine operation.

14.6 Locally Generated Tones
Some telephony devices generate tones locally vs. delivering transmitted tones over the audio input. These tones are played to the user via either the handset speaker or the speaker in a speakerphone telephone. Inside Dial Tone Outside Dial Tone Inside Ring Tone Outside Ring Tone Priority Ring Tone MC - A tone that indicates to the user that the telephone is ready to place an inside call. MC - A tone that indicates to the user that the telephone is ready to place an outside call. MC 每 An in-house destination telephone is ringing. MC 每 An outside destination telephone is ringing. MC - The tone generated while a destination telephone is ringing as a result

Version 1.12

January 21, 2005

76

Universal Serial Bus HID Usage Tables of a programmable function (like autodial, etc). Inside Ringback Outside Ringback Priority Ringback Line Busy Tone Reorder Tone Call Waiting Tone Confirmation Tone 1 Confirmation Tone 2 Tones Off Ringer MC 每 A ringback feature has been activated to an inside line.3 MC 每 A ringback feature has been activated to an outside line. MC 每 A priority ringback feature has been activated. MC 每 The destination line is currently busy. MC 每 There are no lines available for the user to place a call. MC 每 The user is currently on a line, and another phone call is coming in. MC 每 A feature the user has requested has been enabled. This tone is generated while the user is programming the phone. MC 每 A feature the user has requested has been enabled. This tone is generated while the user is programming the phone. OOC 每 Turn all tones off, negating all control values. OOC - This usage generates the incoming telephone call tone heard by the user while the phone is "On Hook". The tone will remain asserted as long as the control is true. Software must negate the control to stop the tone. On/off cycling of the ringer tone is handled by system software, this allows different ring patterns to be generated by the host.

Ringback is a feature that a user could invoke when the destination is busy. Once the destination hangs up its current call, the destination*s phone ※places a call§ to the original user.

3

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

77

15 Consumer Page (0x0C)
All controls on the Consumer page are application-specific. That is, they affect a specific device, not the system as a whole. Table 17: Consumer Usage Page Usage ID
00 01 02 03 04 05 06 07-1F 20 21 22 23-3F 30 31 32 33 34 35 36 37-3F 40 41 42 43 44 45 46 47 48 49-5F 60 61

Usage Name
Unassigned Consumer Control Numeric Key Pad Programmable Buttons Microphone Headphone Graphic Equalizer Reserved +10 +100 AM/PM Reserved Power Reset Sleep Sleep After Sleep Mode Illumination Function Buttons Reserved Menu Menu Pick Menu Up Menu Down Menu Left Menu Right Menu Escape Menu Value Increase Menu Value Decrease Reserved Data On Screen Closed Caption

Usage Type
CA NAry NAry CA CA CA

Section
15.1 15.2 15.14 15.1 15.1 15.1

OSC OSC OSC

15.2 15.2 15.2

OOC OSC OSC OSC RTC OOC NAry

15.3 15.3 15.3 15.3 15.3 15.3 15.3

OOC OSC OSC OSC OSC OSC OSC OSC OSC

15.4 15.4 15.4 15.4 15.4 15.4 15.4 15.4 15.4

OOC OOC

15.5 15.5

Version 1.12

January 21, 2005

78

Universal Serial Bus HID Usage Tables Usage ID
62 63 64 65 66 67-7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D

Usage Name
Closed Caption Select VCR/TV Broadcast Mode Snapshot Still Reserved Selection Assign Selection Mode Step Recall Last Enter Channel Order Movie Channel Media Selection Media Select Computer Media Select TV Media Select WWW Media Select DVD Media Select Telephone Media Select Program Guide Media Select Video Phone Media Select Games Media Select Messages Media Select CD Media Select VCR Media Select Tuner Quit Help Media Select Tape Media Select Cable Media Select Satellite Media Select Security Media Select Home Media Select Call Channel Increment Channel Decrement

Usage Type
OSC OOC OSC OSC OSC

Section
15.5 15.5 15.5 15.5 15.5

NAry OSC OSC OSC OSC OSC LC NAry Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel OSC OOC Sel Sel Sel Sel Sel Sel OSC OSC

15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6 15.6

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Usage ID
9E 9F A0 A1 A2 A3 A4 A5-AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC

79 Usage Type
Sel

Usage Name
Media Select SAP Reserved VCR Plus Once Daily Weekly Monthly Reserved Play Pause Record Fast Forward Rewind Scan Next Track Scan Previous Track Stop Eject Random Play Select Disc Enter Disc Repeat Tracking Track Normal Slow Tracking Frame Forward Frame Back Mark Clear Mark Repeat From Mark Return To Mark Search Mark Forward Search Mark Backwards Counter Reset Show Counter Tracking Increment Tracking Decrement Stop/Eject

Section
15.6

OSC OSC OSC OSC OSC

15.6 15.6 15.6 15.6 15.6

OOC OOC OOC OOC OOC OSC OSC OSC OSC OOC NAry MC OSC LC OSC LC RTC RTC OSC OSC OOC OSC OSC OSC OSC OSC RTC RTC OSC

15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.7 15.8 15.8 15.8 15.8 15.8 15.8 15.8 15.8 15.7 15.7 15.7

Version 1.12

January 21, 2005

80

Universal Serial Bus HID Usage Tables Usage ID
CD CE CF-DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB-EF F0 F1 F2 F3 F4 F5 F6-FF 100 101 102 103 104 105 106 107 108 109 10A 10B 10C 10D 10E-14F

Usage Name
Play/Pause Play/Skip Reserved Volume Balance Mute Bass Treble Bass Boost Surround Mode Loudness MPX Volume Increment Volume Decrement Reserved Speed Select Playback Speed Standard Play Long Play Extended Play Slow Reserved Fan Enable Fan Speed Light Enable Light Illumination Level Climate Control Enable Room Temperature Security Enable Fire Alarm Police Alarm Proximity Motion Duress Alarm Holdup Alarm Medical Alarm Reserved

Usage Type
OSC OSC

Section
15.7 15.7

LC LC OOC LC LC OOC OSC OOC OOC RTC RTC

15.9.1 15.9.2 15.9.1 15.9.3 15.9.4 15.9.3 15.9.5 15.9.5 15.9.5 15.9.1 15.9.1

OSC NAry Sel Sel Sel OSC

15.10 15.10 15.10 15.10 15.10 15.10

OOC LC OOC LC OOC LC OOC OSC OSC LC OSC OSC OSC OSC

15.11 15.11 15.11 15.11 15.11 15.11 15.11 15.11 15.11 15.11 15.11 15.11 15.11 15.11

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Usage ID
150 151 152 153 154 155 156-15F 160 161 162 163 164 165 166 167 168 169 16A 16B-16F 170 171 172 173 174 175-17F 180 181 182 183 184 185 186 187 188

81 Usage Type
RTC RTC RTC RTC RTC RTC

Usage Name
Balance Right Balance Left Bass Increment Bass Decrement Treble Increment Treble Decrement Reserved Speaker System Channel Left Channel Right Channel Center Channel Front Channel Center Front Channel Side Channel Surround Channel Low Frequency Enhancement Channel Top Channel Unknown Reserved Sub-channel Sub-channel Increment Sub-channel Decrement Alternate Audio Increment Alternate Audio Decrement Reserved Application Launch Buttons AL Launch Button Configuration Tool AL Programmable Button Configuration AL Consumer Control Configuration AL Word Processor AL Text Editor AL Spreadsheet AL Graphics Editor AL Presentation App

Section
15.9.2 15.9.2 15.9.3 15.9.3 15.9.4 15.9.4

CL CL CL CL CL CL CL CL CL CL CL

15.12.1 15.12.1 15.12.1 15.12.1 15.12.1 15.12.1 15.12.1 15.12.1 15.12.1 15.12.1 15.12.1

LC OSC OSC OSC OSC

15.13 15.13 15.13 15.13 15.13

NAry Sel Sel Sel Sel Sel Sel Sel Sel

15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15

Version 1.12

January 21, 2005

82

Universal Serial Bus HID Usage Tables Usage ID
189 18A 18B 18C 18D 18E 18F 190 191 192 193 194 195 196 197 198 199 19A 19B 19C 19D 19E 19F 1A0 1A1 1A2 1A3 1A4 1A5 1A6 1A7 1A8 1A9 1AA 1AB

Usage Name
AL Database App AL Email Reader AL Newsreader AL Voicemail AL Contacts/Address Book AL Calendar/Schedule AL Task/Project Manager AL Log/Journal/Timecard AL Checkbook/Finance AL Calculator AL A/V Capture/Playback AL Local Machine Browser AL LAN/WAN Browser AL Internet Browser AL Remote Networking/ISP Connect AL Network Conference AL Network Chat AL Telephony/Dialer AL Logon AL Logoff AL Logon/Logoff AL Terminal Lock/Screensaver AL Control Panel

Usage Type
Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel

Section
15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15

AL Command Line Processor/Run Sel AL Process/Task Manager AL Select Task/Application AL Next Task/Application AL Previous Task/Application AL Preemptive Halt Task/Application AL Integrated Help Center AL Documents AL Thesaurus AL Dictionary AL Desktop AL Spell Check Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Usage ID
1AC 1AD 1AE 1AF 1B0 1B1 1B2 1B3 1B4 1B5 1B6 1B7 1B8 1B9 1BA 1BB 1BC 1BD 1BE 1BF 1C0 1C1 1C2 1C3 1C4 1C5 1C6 1C7 1C8-1FF 200 201 202 203 204

83 Usage Type
Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel

Usage Name
AL Grammar Check AL Wireless Status AL Keyboard Layout AL Virus Protection AL Encryption AL Screen Saver AL Alarms AL Clock AL File Browser AL Power Status AL Image Browser AL Audio Browser AL Movie Browser AL Digital Rights Manager AL Digital Wallet Reserved AL Instant Messaging AL OEM Features/ Tips/Tutorial Browser AL OEM Help AL Online Community AL Entertainment Content Browser AL Online Shopping Browser AL SmartCard Information/Help AL Market Monitor/Finance Browser AL Customized Corporate News Browser AL Online Activity Browser AL Research/Search Browser AL Audio Player Reserved Generic GUI Application Controls AC New AC Open AC Close AC Exit

Section
15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15

Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel

15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15 15.15

Nary Sel Sel Sel Sel

15.16 15.16 15.16 15.16 15.16

Version 1.12

January 21, 2005

84

Universal Serial Bus HID Usage Tables Usage ID
205 206 207 208 209 21A 21B 21C 21D 21E 21F 220 221 222 223 224 225 226 227 228 229 22A 22B 22C 22D 22E 22F 230 231 232 233 234 235 236 237 238

Usage Name
AC Maximize AC Minimize AC Save AC Print AC Properties AC Undo AC Copy AC Cut AC Paste AC Select All AC Find AC Find and Replace AC Search AC Go To AC Home AC Back AC Forward AC Stop AC Refresh AC Previous Link AC Next Link AC Bookmarks AC History AC Subscriptions AC Zoom In AC Zoom Out AC Zoom AC Full Screen View AC Normal View AC View Toggle AC Scroll Up AC Scroll Down AC Scroll AC Pan Left AC Pan Right AC Pan

Usage Type
Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel LC Sel Sel Sel Sel Sel LC Sel Sel LC

Section
15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Usage ID
239 23A 23B 23C 23D 23E 23F 240 241 242 243 244 245 246 247 248 249 24A 24B 24C 24D 24E 24F 250 251 252 253 254 255 256 257 258 259 25A 25B 25C 25D

85 Usage Type
Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel

Usage Name
AC New Window AC Tile Horizontally AC Tile Vertically AC Format AC Edit AC Bold AC Italics AC Underline AC Strikethrough AC Subscript AC Superscript AC All Caps AC Rotate AC Resize AC Flip horizontal AC Flip Vertical AC Mirror Horizontal AC Mirror Vertical AC Font Select AC Font Color AC Font Size AC Justify Left AC Justify Center H AC Justify Right AC Justify Block H AC Justify Top AC Justify Center V AC Justify Bottom AC Justify Block V AC Indent Decrease AC Indent Increase AC Numbered List AC Restart Numbering AC Bulleted List AC Promote AC Demote AC Yes

Section
15.16 15.16 15.16 15.16 15.14 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16

Version 1.12

January 21, 2005

86

Universal Serial Bus HID Usage Tables Usage ID
25E 25F 260 261 262 263 264 265 266 267 268 269 26A 26B 26C 26D 26E 26F 270 271 272 273 274 275 276 277 278 279 27A 27B 27C 27D 27E 27F 280 281 282

Usage Name
AC No AC Cancel AC Catalog AC Buy/Checkout AC Add to Cart AC Expand AC Expand All AC Collapse AC Collapse All AC Print Preview AC Paste Special AC Insert Mode AC Delete AC Lock AC Unlock AC Protect AC Unprotect AC Attach Comment AC Delete Comment AC View Comment AC Select Word AC Select Sentence AC Select Paragraph AC Select Column AC Select Row AC Select Table AC Select Object AC Redo/Repeat AC Sort AC Sort Ascending AC Sort Descending AC Filter AC Set Clock AC View Clock AC Select Time Zone AC Edit Time Zones AC Set Alarm

Usage Type
Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel

Section
15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Usage ID
283 284 285 286 287 288 289 28A 28B 28C 28D 28E 28F 290 291 292 293 294 295 296 297 298 299 29A 29B 29C 29D-FFFF

87 Usage Type
Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel Sel

Usage Name
AC Clear Alarm AC Snooze Alarm AC Reset Alarm AC Synchronize AC Send/Receive AC Send To AC Reply AC Reply All AC Forward Msg AC Send AC Attach File AC Upload AC Download (Save Target As) AC Set Borders AC Insert Row AC Insert Column AC Insert File AC Insert Picture AC Insert Object AC Insert Symbol AC Save and Close AC Rename AC Merge AC Split AC Disribute Horizontally AC Distribute Vertically Reserved

Section
15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16 15.16

15.1 Generic Consumer Control Device
Consumer Control Microphone CA 每 General consumer control device. CA 每 Names a collection that contains usages related to an audio receiver device for recording or amplifying sounds. This usage can also be used to name a logical collection (CL) if the microphone controls are part of another device. CA 每 Names a collection that contains usages related to an audio output device for playing back sounds. This usage can also be used to name a logical collection (CL) if the headphone controls are part of another device.

Headphone

Version 1.12

January 21, 2005

88

Universal Serial Bus HID Usage Tables Graphic Equalizer CA - This collection contains Ordinal usages. An Ordinal usage is declared for each frequency band gain control supported by the Graphic Equalizer. The value associate with the ordinal determines the gain of an individual band in an graphic equalizer. The gain varies from 0 to 100% of the total gain supported by the band. This usage requires the definition of a Usage Descriptor to identify the center frequency and Q of the filter associated with the band. This usage can also be used to name a logical collection (CL) if the equalizer controls are part of another device. See the equalizer example in the appendix.

Figure 7: Graphic Equalizer Data Descriptor
Part bLength bDescriptorType fCenterFreq fQ Offset/Size (Bytes) 0/1 1/1 2/4 6/4 Value Number Constant IEEE 32-bit floating-point IEEE 32-bit floating-point Description Size of this descriptor in bytes (0x0A) String descriptor type (0x03) Defines the center frequency of the equalizer band in Hertz Defines the Q factor of the equalizer band.

Both the Center Frequency and the Q members of the Graphic Equalizer Usage Descriptor are defined in standard IEEE 32-bit floating-point format.

15.2 Numeric Key Pad
Numeric Key Pad NAry 每 A collection usage for a generic numeric keypad. On a consumer device these are commonly used for channel selection. Usages for digits can be found on the Button page where numeric values starting with 0 are assigned to Button 1, numeric value 1 to Button 2, and so on. OSC 每 Increments channel by 10. OSC 每 Increments channel by 100. OSC 每 Toggles between AM and PM for time entry.

+10 +100 AM/PM

15.3 General Controls
Power Reset Sleep Sleep After Sleep Mode Illumination OOC 每 Controls the application-specific power state. For global power control, see System Controls on the Generic Desktop Usage page. OSC 每 Resets the device. All volatile settings revert to the defaults. OSC 每 Initiates low power state on application-specific device now. OSC 每 Sets inactivity timeout to a value. The Sleep After button will be followed with the timeout value in minutes entered on a numeric keypad. RTC 每 Cycle through available sleep delays, such as no sleeping, 5 minutes, 10 minutes, 30 minutes, etc. The last selected mode will be enabled. OOC 每 Toggles illumination of consumer control's buttons and controls on/off.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Function Buttons

89

NAry 每 A collection usage for generic function buttons. On a consumer device, these are commonly used for user-assigned functions. Usages for function buttons can be found on the Button page where Function Button 1 is assigned to Button 1, Function Button 2 to Button 2, and so on.

15.4 Menu Controls
Menu OOC 每 Initiates on-device-display main menu. Sets a mode in which the other menu controls are active. In this mode, a subsequent menu press will cancel the mode. OSC 每 Picks an item from an on-screen menu. OSC 每 Moves the selection up in a device-displayed menu. OSC 每 Moves the selection down in a device-displayed menu. OSC 每 Moves the selection left in a device-displayed menu. OSC 每 Moves the selection right in a device-displayed menu. OSC 每 Backs up a level in the on-screen menu system. OSC 每 Increments the value of the currently selected menu item. For example, after using a menu to select a volume control, the user can modify the volume level using this control. OSC 每 Decrements the value of the currently selected menu item.

Menu Pick Menu Up Menu Down Menu Left Menu Right Menu Escape Menu Value Increase

Menu Value Decrease

15.5 Display Controls
Data On Screen Closed Caption Closed Caption Select VCR/TV Broadcast Mode Snapshot Still OOC 每 Superimposes state data on the monitor video. Typically, channel information is displayed. OOC 每 Enables closed-caption display. OSC 每 Cycles through closed-caption viewing options. OOC 每 Selects a recording source for VCR. OSC 每 Cycles between available broadcast modes, such as Broadcast, CATV, etc. The last selected mode is enabled. OSC 每 Captures the screen or image of the currently selected window. OSC 每 Pauses playback in the currently selected window.

15.6 Selection Controls
Selection NAry 每 A collection usage for a number of discrete selections. On a consumer device, these are commonly used for ※favorite§ selections. Usages for the selections can be found on the Button page where the choices are assigned to Button 1 and so on. OSC 每 This button works in conjunction with the Selection usage. To assign the current channel or mode to a selection button, the user presses the Assign Selection button followed by a button in the Selection named array.

Assign Selection

Version 1.12

January 21, 2005

90

Universal Serial Bus HID Usage Tables Mode Step Recall Last Enter Channel Order Movie Channel Channel Increment Channel Decrement VCR Plus OSC 每 Steps through devices (TV, VCR, cable) in a multi-mode remote. OSC 每 Returns to the last selected channel or mode. OSC 每 Interprets the previous number entry as channel information. OSC 每 Requests pay-per-view entertainment. LC 每 Channel selection control where the range of possible values is equal to the number of channels supported by the device. OSC 每 Channel control where each activation of the control increments the current channel selection to the next available channel. OSC 每 Channel control where each activation of the control decrements the current channel selection to the next available channel. OSC 每 Initiates (and optionally terminates) VCR Plus code entry mode.

The controls Once, Daily, Weekly, and Monthly are typically used for programming record operations. Once Daily Weekly Monthly Media Selection Media Select Computer Media Select TV Media Select WWW Media Select DVD Media Select Telephone Media Select Program Guide Media Select Video Phone Media Select Games Media Select Messages Media Select CD Media Select VCR Media Select Tuner Media Select Tape Media Select Cable Media Select Satellite Media Select Security OSC 每 Performs the operation once. OSC 每 Performs the operation once a day. OSC 每 Performs the operation once a week. OSC 每 Performs the operation once a month. NAry 每 Identifies the media source to be manipulated or displayed. This collection will contain one of the following Media Select usages. Sel 每 Selects the computer display. Sel 每 Selects the television display. Sel 每 Selects World Wide Web access. Sel 每 Selects the DVD drive. Sel 每 Selects telephone mode. Sel 每 Selects the viewing guide. Sel 每 Selects videophone mode. Sel 每 Selects gaming mode. Sel 每 Selects message mode. Sel 每 Selects the CD drive. Sel 每 Selects the VCR. Sel 每 Selects the tuner. Sel 每 Select the audio tape. Sel 每 Selects the cable receiver. Sel 每 Selects the satellite receiver. Sel 每 Selects the security status display.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Media Select Home Media Select Call Quit Help Sel 每 Selects the home system status display. Sel 每 Selects the telephone call status display. OSC 每 Exits the current mode. OOC 每 Displays the help screen.

91

15.7 Transport Controls
Play Pause Record Fast Forward Rewind Scan Next Track Scan Previous Track Stop Eject Stop/Eject Play/Pause Play/Skip Random Play Repeat Select Disc OOC 每 Begins streaming linear media. OOC 每 Stops streaming linear media. OOC 每 Initiates transferring input data to media. OOC 每 Initiates fast forward scan of linear media. OOC 每 Initiates fast reverse scan of linear media. OSC 每 Moves to the next chapter or track boundary. OSC 每 Moves to the previous chapter or track boundary. OSC 每 Halts scanning, streaming, or recording linear media. OSC 每 Removes media from the player. OSC 每 If linear media is scanning, streaming, or recording, stops the media stream. If linear media is halted, removes the media from the player. OSC 每 If linear media is scanning, streaming, or recording, momentarily stops the media stream. If linear media is paused, resumes streaming. OSC 每 If linear media is halted, begins streaming. If linear media is already streaming, advances to the next channel. OOC 每 Random selection of tracks. OSC 每 Repeat selection of tracks. NAry 每 Attached to a collection that defines the selection of one of many disks. The allowed disk numbers are enumerated with the declaration of ordinals in the Select Disc named array. MC 每 This button works in conjunction with the Numeric Key Pad usage. To select a disk, the user presses the Enter Disc button followed by the entry of the desired disc number on the numeric key pad. LC 每 Adjusts media tracking. RTC 每 Asserting this control increments the current value of media tracking until the maximum value is reached. Typically implemented as a single button. RTC 每 Asserting this control decrements the current value of media tracking until the minimum value is reached. Typically implemented as a single button. OSC 每 Sets media tracking to default or automatic value. LC 每 Adjusts media slow tracking. RTC 每 Moves forward one video frame.

Enter Disc

Tracking Tracking Increment

Tracking Decrement

Track Normal Slow Tracking Frame Forward

Version 1.12

January 21, 2005

92

Universal Serial Bus HID Usage Tables Frame Back RTC 每 Moves back one video frame.

15.8 Search Controls
Search controls either place a physical flag, index or mark on the magnetic media, or use the position or frame counter to flag points of interest. The search controls allow identifying and moving between these points of interest. Mark Clear Mark Repeat From Mark Return To Mark Search Mark Forward Search Mark Backwards Counter Reset Show Counter OSC 每 Marks a reference point on the media. Synonymous with the ※counter memory§ function found on some transport devices. OSC 每 Removes a marked reference point from the media. OOC 每 Marks the current position as the end of the block and repeat-plays the block starting from the marked beginning of the block. OSC 每 Positions at the last detected mark and plays. OSC 每 Searches forward for a mark. OSC 每 Searches backward for a mark. OSC 每 Resets the time, position, or frame counter. OSC 每 Toggles between the position counter and the time display.

15.9 Audio Controls
15.9.1 Volume
An application should check the Volume, Volume Increment and Volume Decrement usages when determining whether a device supports volume controls. Volume Volume Increment LC 每 Audio volume control. RTC 每 Asserting this control increments the current value of audio volume until the maximum value is reached. It is typically implemented as a single button. RTC 每 Asserting this control decrements the current value of audio volume until the minimum value is reached. It is typically implemented as a single button. OOC 每 Audio mute control. Sets the audio output level to the minimum value without affecting the current volume level. When Mute is disabled, the previous audio level will be restored.

Volume Decrement

Mute

15.9.2 Balance
An application should check the Balance, Balance Right and Balance Left usages when determining whether a device supports balance controls. Balance Balance Right LC 每 Audio balance control. RTC 每 Asserting this control adjusts the audio output towards the right channel until the maximum value is reached. It is typically implemented as a single button.

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables Balance Left

93

RTC 每 Asserting this control adjusts the audio to the left channel until the maximum value is reached. It is typically implemented as a single button.

15.9.3 Bass
An application should check the Bass, Bass Increment and Bass Decrement usages when determining whether a device supports bass controls. Bass Bass Increment LC 每 Audio bass control. RTC 每 Asserting this control increments the current value of the audio bass control until the maximum value is reached. It is typically implemented as a single button. RTC 每 Asserting this control decrements the current value of the audio bass control until the minimum value is reached. It is typically implemented as a single button. OOC 每 Enables audio bass boost.

Bass Decrement

Bass Boost

15.9.4 Treble
An application should check the Treble, Treble Increment and Treble Decrement usages when determining whether a device supports treble controls. Treble Treble Increment LC 每 Audio treble control. RTC 每 Asserting this control increments the current value of the audio treble control until the maximum value is reached. It is typically implemented as a single button. RTC 每 Asserting this control decrements the current value of the audio treble control until the minimum value is reached. It is typically implemented as a single button.

Treble Decrement

15.9.5 Other
Surround Mode Loudness MPX OSC 每 Steps through surround mode options. OOC 每 Applies boost to audio bass and treble. OOC 每 Enables stereo multiplexer.

15.10

Speed Controls
OSC 每 Cycles through media speed options. NAry 每 A collection of controls that allow adjustment of playback speed (in units relative to normal playback speed). Contains the selectors Standard, Long, and Extended Play. Sel 每 Selects the VCR*s ※SP§ recording speed.

Speed Select Playback Speed

Standard Play

Version 1.12

January 21, 2005

94

Universal Serial Bus HID Usage Tables Long Play Extended Play Slow Sel 每 Selects the VCR*s ※LP§" recording speed. Sel 每 Selects the VCR*s ※EP§ recording speed. OSC 每 Enables slow speed transport motion.

15.11
Fan Enable Fan Speed Light Enable Light Illumination Level

Home and Security Controls
OOC 每 Controls the state of a overhead, furnace, or ventilation fan. LC 每 Adjusts the speed of a overhead, furnace or ventilation fan. OOC 每 Controls the state of a light or lamp. LC 每 Adjusts the illumination level of a light or lamp. OOC 每 Enables or disables a climate control system. LC 每 Adjusts room temperature level. OOC 每 Enables or disables a security system. OSC 每 Initiates a fire alarm. OSC 每 Initiates a police alarm. LC 每 A value indicating proximity to a sensor. OSC 每 A value indicating detection of motion. OSC 每 Initiates a Panic alarm Indicates a forced operation of the alarm controls under duress. Typically a silent alarm. OSC 每 Initiates a Holdup alarm. Typically a silent alarm. OSC 每 Initiates a Medical alarm.

Climate Control Enable Room Temperature Security Enable Fire Alarm Police Alarm Proximity Motion Duress Alarm Holdup Alarm Medical Alarm

Version 1.12

January 21, 2005

Universal Serial Bus HID Usage Tables

95

15.12

Speaker Channels

USB speaker system may employ a hierarchy of Channel collections to identify controls that effect individual speakers or subsets of speakers. The selection of collections also allows the speakers associated with USB audio class spatial locations to be identified. If the only function provided by a device is a speaker system, then it will be defined as a Consumer Control at the application collection level. The volume, balance, mute, and tone control usages found at the top level represent "Master" controls that effect all channels or speaker systems. If more spatial resolution is required then Channel collections can be contained in the top-level collection. Channel identification assumes the following layout of the speakers.

Figure 8: Audio Channels Stereo Channel Left speaker Center Channel speaker (mono) Channel Right speaker

Channel Subwoofer (mono)

Channel Left speaker

Channel Rear

Channel Right speaker

15.12.1 Audio Channels
Where: ? ? A monophonic system is a 1-channel system that would be represented by volume, mute and tone controls in the top-level collection. Stereo is a 2-channel system. Normally volume, balance, mute and tone controls in the top-level collection would represent this configuration. However if a device provided individual controls for the right and left chan

眈壽恅梒:
stm32 USB耀輸腔HID扢掘羲楷
婃拸ぜ歎|0刱譯舉0棒狟婥|撼惆恅紫stm32 USB耀輸腔HID扢掘羲楷_數呾儂篲摯茼蚚_IT/數呾儂_蚳珛訧蹋﹝囀: Part 1:stm32 腔 USB 踱賦凳 Part 2:USB 繹撼...
USB_HID_扢掘濬衪祜踼
婃拸ぜ歎|0刱譯舉0棒狟婥|撼惆恅紫USB_HID_扢掘濬衪祜踼鰭眥珛撮扲鑠捄_眥珛...USB 羲楷價插--USB 韜鍔(③⑴)睿 USB 鏡扴睫)俋,遜婦嬤 3 跺 HID 扢 掘...
USB HID衪祜笢恅唳〞〞USB諉諳HID扢掘
菴8梒 USB 諉諳 HID 扢掘 HID(Human Interface Device,侄諉諳扢掘)岆 USB ...HID Usage Tables む笢ヶ氪岆 HID 腔價掛寞毓恅璃,綴氪褫眕岆ヶ氪腔蜇璃,峈羲楷...
USB_HID_扢掘濬衪祜踼
婃拸ぜ歎|0刱譯舉0棒狟婥|撼惆恅紫 USB_HID_扢掘濬衪祜踼鰭數呾儂篲摯茼蚚...USB 羲楷價插--USB 韜鍔(③⑴)睿 USB 鏡扴睫)俋,遜婦嬤 3 跺 HID 扢掘濬...
USB HID 扢掘濬衪祜踼
婃拸ぜ歎|0刱譯舉0棒狟婥|撼惆恅紫 USB HID 扢掘濬衪祜踼鰭IT/數呾儂_蚳珛...USB 羲楷價插--USB 韜鍔(③⑴)睿 USB 鏡扴睫)俋,遜婦嬤 3 跺 HID 扢 掘...
奻弇儂晤最妗珋迵USB〞HID扢掘籵陓
奻弇儂晤最妗珋迵 USBHID 扢掘籵陓 ▽晡猁▼婓奻弇儂笢,籵徹侄蝠誑賜醱,...kernel32.dll3 跺 dll 恅紫笢, 煦梗れ善迵 HID 扢掘籵陓﹜扆梑迵妎梗扢掘﹜...
USBHID扢掘惆豢鏡扴睫砆賤
婃拸ぜ歎|0刱譯舉0棒狟婥|撼惆恅紫USBHID扢掘惆豢鏡扴睫砆賤_萇赽/萇繚_馱最褪撮_蚳珛訧蹋﹝USB/HID 扢掘惆豢鏡扴睫砆賤衙扴: 惆豢婓涴爵砩佷岆杅擂換怀(data tra...
C++ MFC賜醱黍迡USB HID扢掘杅擂最唗
C++ MFC賜醱黍迡USB HID扢掘杅擂最唗_數呾儂篲摯茼蚚_IT/數呾儂_蚳珛訧蹋﹝菴...HID-USB扢掘羲楷 18珜 1狟婥 羲楷USB hid扢掘恅紫 172珜 轎煤 USB HID...
USB HID扢掘惆豢鏡扴睫砆賤
USB HID扢掘惆豢鏡扴睫砆賤_數呾儂篲摯茼蚚_IT/數呾儂_蚳珛訧蹋﹝USB HID扢掘惆豢鏡扴睫砆賤,硉腕珨艘﹝USB HID 扢掘惆豢鏡扴睫砆賤衙扴: 惆豢婓涴爵砩佷岆杅擂換...
USB HID 扢掘雄最唗扢數
垀衄涴虳扢掘飲硐夔婓 PC 奻妏蚚,硐夔籵徹 PC 懂輛俴眈誑腔恅璃睿 杅擂蝠遙﹝...2 HID 扢掘 雄潠賡 峈潠趙 USB 扢掘腔羲楷徹最,USB 枑堤賸扢掘濬腔衙癩﹝...
載嗣眈壽梓ワ:
usb hid扢掘茼蚚羲楷 | usb hid扢掘 | usb hid羲楷 | usb 赻隅砱hid扢掘 | usb hid扢掘拸楊妎梗 | hid.dll usb羲楷 | usb hid扢掘濬 | usb hid扢掘 bulk |