Skip to content

Instantly share code, notes, and snippets.

@flaviut
Created June 29, 2020 23:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save flaviut/fd6b59edeee3a2ff3cce5b69ee8e2d8a to your computer and use it in GitHub Desktop.
Save flaviut/fd6b59edeee3a2ff3cce5b69ee8e2d8a to your computer and use it in GitHub Desktop.
$ sudo usbhid-dump -s1:17 | grep -v : | xxd -r -p | hidrd-convert -o spec
Usage Page (FF00h), ; FF00h, vendor-defined
Usage (01h),
Collection (Application),
Report ID (16),
Report Count (6),
Report Size (8),
Logical Minimum (0),
Logical Maximum (255),
Usage (01h),
Input,
Usage (01h),
Output,
End Collection,
Usage Page (FF00h), ; FF00h, vendor-defined
Usage (02h),
Collection (Application),
Report ID (17),
Report Count (19),
Report Size (8),
Logical Minimum (0),
Logical Maximum (255),
Usage (02h),
Input,
Usage (02h),
Output,
End Collection,
Usage Page (FF00h), ; FF00h, vendor-defined
Usage (04h),
Collection (Application),
Report ID (32),
Report Count (14),
Report Size (8),
Logical Minimum (0),
Logical Maximum (255),
Usage (41h),
Input,
Usage (41h),
Output,
Report ID (33),
Report Count (31),
Usage (42h),
Input,
Usage (42h),
Output,
End Collection,
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage (Mouse), ; Mouse (02h, application collection)
Collection (Application),
Report ID (2),
Usage (Pointer), ; Pointer (01h, physical collection)
Collection (Physical),
Report Count (16),
Report Size (1),
Logical Minimum (0),
Logical Maximum (1),
Usage Page (Button), ; Button (09h)
Usage Minimum (01h),
Usage Maximum (10h),
Input (Variable),
Report Count (2),
Report Size (12),
Logical Minimum (-2047),
Logical Maximum (2047),
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage (X), ; X (30h, dynamic value)
Usage (Y), ; Y (31h, dynamic value)
Input (Variable, Relative),
Report Count (1),
Report Size (8),
Logical Minimum (-127),
Logical Maximum (127),
Usage (Wheel), ; Wheel (38h, dynamic value)
Input (Variable, Relative),
Report Count (1),
Usage Page (Consumer), ; Consumer (0Ch)
Usage (AC Pan), ; AC pan (0238h, linear control)
Input (Variable, Relative),
End Collection,
End Collection,
Usage Page (Consumer), ; Consumer (0Ch)
Usage (Consumer Control), ; Consumer control (01h, application collection)
Collection (Application),
Report ID (3),
Report Count (2),
Report Size (16),
Logical Minimum (1),
Logical Maximum (767),
Usage Minimum (Consumer Control), ; Consumer control (01h, application collection)
Usage Maximum (02FFh),
Input,
End Collection,
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage (Sys Control), ; System control (80h, application collection)
Collection (Application),
Report ID (4),
Report Count (1),
Report Size (2),
Logical Minimum (1),
Logical Maximum (3),
Usage (Sys Sleep), ; System sleep (82h, one-shot control)
Usage (Sys Power Down), ; System power down (81h, one-shot control)
Usage (Sys Wake Up), ; System wake up (83h, one-shot control)
Input,
Report Size (6),
Input (Constant, Variable),
End Collection,
Usage Page (FFBCh), ; FFBCh, vendor-defined
Usage (88h),
Collection (Application),
Report ID (8),
Report Count (1),
Report Size (8),
Logical Minimum (1),
Logical Maximum (255),
Usage Minimum (01h),
Usage Maximum (FFh),
Input,
End Collection,
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage (Keyboard), ; Keyboard (06h, application collection)
Collection (Application),
Report Count (8),
Report Size (1),
Logical Minimum (0),
Logical Maximum (1),
Usage Page (Keyboard), ; Keyboard/keypad (07h)
Usage Minimum (KB Leftcontrol), ; Keyboard left control (E0h, dynamic value)
Usage Maximum (KB Right GUI), ; Keyboard right GUI (E7h, dynamic value)
Input (Variable),
Input (Constant, Variable),
Report Count (5),
Usage Page (LED), ; LEDs (08h)
Usage Minimum (01h),
Usage Maximum (05h),
Output (Variable),
Report Count (1),
Report Size (3),
Output (Constant),
Report Count (6),
Report Size (8),
Logical Minimum (0),
Logical Maximum (255),
Usage Page (Keyboard), ; Keyboard/keypad (07h)
Usage Minimum (None), ; No event (00h, selector)
Usage Maximum (FFh),
Input,
End Collection
$ sudo usbhid-dump -s 1:17 -f -e stream
[sudo] password for user:
Starting dumping interrupt transfer stream
with 1 minute timeout.
001:017:002:STREAM 1593472041.755748
20 01 02 00 00 00 00 00 02 00 00 00 00 00 00
.001:017:002:STREAM 1593472042.713893
20 01 02 00 00 00 00 00 FE 00 00 00 00 00 00
.001:017:002:STREAM 1593472044.592233
20 01 02 00 00 00 00 00 02 00 00 00 00 00 00
.001:017:002:STREAM 1593472045.284699
20 01 02 00 00 00 00 00 FE 00 00 00 00 00 00
.001:017:002:STREAM 1593472045.454366
20 01 02 00 00 00 00 00 FE 00 00 00 00 00 00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment