102 Universal Serial Bus <strong>HID</strong> <strong>Usage</strong> <strong>Tables</strong><strong>Usage</strong>Page(Telephony Devices),<strong>Usage</strong>(Hook Switch),<strong>Usage</strong>(Alternate Function),<strong>Usage</strong>(Conference),<strong>Usage</strong>(Transfer),<strong>Usage</strong>(Drop),<strong>Usage</strong>(Hold),<strong>Usage</strong>(Speaker Phone),Logical Maximum(7),ReportSize(3),Input(Data, Array, Absolute, Null State),<strong>Usage</strong>Page(Consumer Devices),<strong>Usage</strong>(Volume),Logical Minimum(-1),Logical Maximum(1),ReportSize(2),Input(Data, Variable, Absolute),;Pad to byte boundaryReportSize(4), ReportCount(1),Input(Constant),; 7 buttons; 3-bit field for misc. buttons; 2-bit field for volume; 4-bit pad;Declare all the indicator outputs (LEDs); Define two <strong>Usage</strong> Selected Indicators and associate them; with programmable buttons 1 and 2Logical Minimum(0), Logical Maximum(1),<strong>Usage</strong>Page(LEDs),<strong>Usage</strong>(<strong>Usage</strong> Selected Indicator),Collection(Logical),<strong>Usage</strong>Page(Telephony Devices),<strong>Usage</strong>(Programmable Buttons),Collection(Logical),<strong>Usage</strong>Page(Button),<strong>Usage</strong> Minimum(Button 1), <strong>Usage</strong> Maximum(Button 2),ReportCount(2),Output(Data, Variable, Absolute),End Collection(),End Collection(),; Define six <strong>Usage</strong> In Use Indicators and associate them; with Programmable buttons 1 through 6; Message Waiting, and Alternate Function<strong>Usage</strong>Page(LEDs),<strong>Usage</strong>(<strong>Usage</strong> In Use Indicator),Collection(Logical),<strong>Usage</strong>Page(Telephony Devices),<strong>Usage</strong>(Programmable Key),Collection(Logical),<strong>Usage</strong>Page(Button),<strong>Usage</strong> Minimum(Button 1), <strong>Usage</strong> Maximum(Button 6),ReportCount(6),Output(Data, Variable, Absolute),End Collection(),<strong>Usage</strong>Page(Telephony Devices),<strong>Usage</strong>(Alternate Function),Version <strong>1.1</strong> April 8, 1999
Universal Serial Bus <strong>HID</strong> <strong>Usage</strong> <strong>Tables</strong> 103ReportCount(1),Output(Data, Variable, Absolute),End Collection(),<strong>Usage</strong>Page(LEDs),<strong>Usage</strong>(<strong>Usage</strong> Multi Mode Indicator),Collection(Logical),<strong>Usage</strong>Page(Telephony Devices),<strong>Usage</strong>(Message),Collection(Logical),<strong>Usage</strong>(Indicator On),<strong>Usage</strong>(Indicator Fast Blink),<strong>Usage</strong>(Indicator Off),ReportSize(2),Output(Data, Array),End Collection(),End Collection(),;Volume Control<strong>Usage</strong>Page(Consumer),<strong>Usage</strong>(Volume),Logical Minimum(-1), Logical Maximum(1),ReportSize(2), ReportCount(1),Output(Data, Variable, Relative, Preferred),;Pad to byte boundaryReportSize(3), ReportCount(1),Output(Constant),End Collection(); Volume buttons; 2-bit field for volume; 3-bit padIn the following Telephony device reports, the Key <strong>Usage</strong> Value is an input to the system returning anypressed keys. All the Indicator bits are outputs (LEDs).Figure 13: Example Telephony Device Input ReportByte 7 6 5 4 3 2 1 00 Misc.ButtonsBit 0BitTelephony Key Pad Programmable Keys1 Pad Volume Misc. ButtonsBits 2-1Version <strong>1.1</strong> April 8, 1999