-
Notifications
You must be signed in to change notification settings - Fork 21
Waratah Samples
Matthew Williams edited this page Feb 24, 2022
·
2 revisions
Simple keyboard with capability of reporting of up to 8 regular keys and 1 modifier key.
[[applicationCollection]]
usage = ['Generic Desktop', 'Keyboard']
[[applicationCollection.inputReport]]
# Special buttons
#
# N.B. Windows applies special buttons only to subsequent keys, so
# must appear in report beforehand.
[[applicationCollection.inputReport.variableItem]]
usageRange = ['Keyboard/Keypad', 'Keyboard LeftControl', 'Keyboard Right GUI']
logicalValueRange = [0, 1]
# Regular Buttons
[[applicationCollection.inputReport.arrayItem]]
usageRange = ['Keyboard/Keypad', 'ErrorRollOver', 'Keyboard Application']
count = 8
# LEDS
[[applicationCollection.outputReport]]
[[applicationCollection.outputReport.variableItem]]
usageRange = ['LED', 'Num Lock', 'Kana']
logicalValueRange = [0, 1]
Simple mouse with 3 buttons.
[[applicationCollection]]
usage = ['Generic Desktop', 'Mouse']
[[applicationCollection.inputReport]]
[[applicationCollection.inputReport.physicalCollection]]
usage = ['Generic Desktop', 'Pointer']
[[applicationCollection.inputReport.physicalCollection.variableItem]]
usage = ['Generic Desktop', 'X']
sizeInBits = 8
logicalValueRange = 'maxSignedSizeRange'
reportFlags = ['relative']
[[applicationCollection.inputReport.physicalCollection.variableItem]]
usage = ['Generic Desktop', 'Y']
sizeInBits = 8
logicalValueRange = 'maxSignedSizeRange'
reportFlags = ['relative']
[[applicationCollection.inputReport.physicalCollection.variableItem]]
usageRange = ['Button', 'Button 1', 'Button 3']
logicalValueRange = [0, 1]
Flight joystick with throttle, variable stick position, hat switch rocker and 4 buttons.
[[applicationCollection]]
usage = ['Generic Desktop', 'Joystick']
[[applicationCollection.inputReport]]
[[applicationCollection.inputReport.variableItem]]
usage = ['Simulation Controls', 'Throttle']
sizeInBits = 8
[[applicationCollection.inputReport.physicalCollection]]
usage = ['Generic Desktop', 'Pointer']
[[applicationCollection.inputReport.physicalCollection.variableItem]]
usage = ['Generic Desktop', 'X']
sizeInBits = 8
[[applicationCollection.inputReport.physicalCollection.variableItem]]
usage = ['Generic Desktop', 'Y']
sizeInBits = 8
[[applicationCollection.inputReport.variableItem]]
usage = ['Generic Desktop', 'Hat Switch']
logicalValueRange = [0, 3]
physicalValueRange = [0, 270]
unit = 'degrees'
[[applicationCollection.inputReport.variableItem]]
usageRange = ['Button', 'Button 1', 'Button 4']
logicalValueRange = [0, 1]
Simple gamepad with Up/down and left/right and 6 buttons.
[[applicationCollection]]
usage = ['Generic Desktop', 'Gamepad']
[[applicationCollection.inputReport]]
# Two axis rocker (tilting forward/backward and left/right)
[[applicationCollection.inputReport.physicalCollection]]
usage = ['Generic Desktop', 'Pointer']
[[applicationCollection.inputReport.physicalCollection.variableItem]]
usage = ['Generic Desktop', 'X']
logicalValueRange = [-1, 1]
[[applicationCollection.inputReport.physicalCollection.variableItem]]
usage = ['Generic Desktop', 'Y']
logicalValueRange = [-1, 1]
# 6 buttons
[[applicationCollection.inputReport.variableItem]]
usageRange = ['Button', 'Button 1', 'Button 6']
logicalValueRange = [0, 1]
Telephony headset with 2 buttons (Mute and answer/hang-up calls), and 4 LEDs.
[[applicationCollection]]
usage = ['Telephony Device', 'Headset']
[[applicationCollection.inputReport]]
[[applicationCollection.inputReport.variableItem]]
usage = ['Telephony Device', 'Phone Mute']
logicalValueRange = [0, 1]
[[applicationCollection.inputReport.variableItem]]
usage = ['Telephony Device', 'Hook Switch']
logicalValueRange = [0, 1]
[[applicationCollection.outputReport]]
[[applicationCollection.outputReport.variableItem]]
usage = ['LED', 'Off-Hook']
logicalValueRange = [0, 1]
[[applicationCollection.outputReport.variableItem]]
usage = ['LED', 'Mute']
logicalValueRange = [0, 1]
[[applicationCollection.outputReport.variableItem]]
usage = ['LED', 'Microphone']
logicalValueRange = [0, 1]
[[applicationCollection.outputReport.variableItem]]
usage = ['LED', 'Ring']
logicalValueRange = [0, 1]
Simple consumer control multimedia device with volume up/down, mute, play/pause + stop, scan Next/previous track.
[[applicationCollection]]
usage = ['Consumer', 'Consumer Control']
[[applicationCollection.inputReport]]
[[applicationCollection.inputReport.variableItem]]
usage = ['Consumer', 'Volume Increment']
logicalValueRange = [0, 1]
[[applicationCollection.inputReport.variableItem]]
usage = ['Consumer', 'Volume Decrement']
logicalValueRange = [0, 1]
[[applicationCollection.inputReport.variableItem]]
usage = ['Consumer', 'Mute']
logicalValueRange = [0, 1]
[[applicationCollection.inputReport.variableItem]]
usage = ['Consumer', 'Play/Pause']
logicalValueRange = [0, 1]
[[applicationCollection.inputReport.variableItem]]
usage = ['Consumer', 'Stop']
logicalValueRange = [0, 1]
[[applicationCollection.inputReport.variableItem]]
usage = ['Consumer', 'Scan Next Track']
logicalValueRange = [0, 1]
[[applicationCollection.inputReport.variableItem]]
usage = ['Consumer', 'Scan Previous Track']
logicalValueRange = [0, 1]