10.07.2015 Views

HID Usage Tables Document 1.1 - C. Scott Ananian

HID Usage Tables Document 1.1 - C. Scott Ananian

HID Usage Tables Document 1.1 - C. Scott Ananian

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

48 Universal Serial Bus <strong>HID</strong> <strong>Usage</strong> <strong>Tables</strong>11 Button Page (0x09)The Button page is the first place an application should look for user selection controls. System graphicaluser interfaces typically employ a pointer and a set of hierarchical selectors to select, move and otherwisemanipulate their environment. For these purposes the following assignment of significance can be applied tothe Button usages:• Button 1, Primary Button. Used for object selecting, dragging, and double click activation. OnMacOS, this is the only button. Microsoft operating systems call this a logical left button, because itis 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 assignedfunctionality 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 Physicaldescriptors. 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 asthe finger has to stretch to reach a control. See Section 6.2.3, “Physical Descriptors,” in the <strong>HID</strong>Specification for methods of further qualifying buttons.Table 12: Button <strong>Usage</strong> Page<strong>Usage</strong> ID <strong>Usage</strong> Name <strong>Usage</strong> Type00 No button pressed See Note01 Button 1 (primary/trigger) See Note02 Button 2 (secondary) See Note03 Button 3 (tertiary) See Note04 Button 4 See Note... ...FFFF Button 65535 See NoteNote 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. Whendeclaring 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 nobutton is pressed. Radio buttons are an exception to this rule because one button is always valid. For anexample, see Section A.3.1, “Mechanically Linked Radio Buttons” in Appendix A, “<strong>Usage</strong> Examples.”Version <strong>1.1</strong> April 8, 1999

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!