8 Universal Serial Bus HID Usage Tables
Version 1.1 April 8, 1999
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 auto-
repeat fire button.
3.4.2 Usage Types (Data)
The following table summarizes the data-related usage types.
Table 3: Usage Types (Data)
Type Flags Description
Selector (Sel) Array Contained in a Named Array (NAry).
Static Value (SV) Constant, Variable, Absolute A read-only multiple-bit value.
Static Flag (SF) Constant, Variable, Absolute A read-only single-bit value.
Dynamic Value (DV) Data, Variable, Absolute A read/write multiple-bit value.
Dynamic Flag (DF) Data, Variable, Absolute A read/write single-bit value.