USB Host polling stutter with mouse >1000hz

centralcat

New member
Hello, i'm currently working on a project that uses the USB Host and Ethernet functionality on the Teensy 4.1 to inject / modify mouse input. I've attached an example with the whole ethernet side removed and just acting as a forwarder.

During my testing I've noticed that using my mouse with report rates above 1000hz produced noticeable stutter movements that look like jumps (missed polls?) semi-consistently.

I've modified the descriptors of the Teensy to be a 1:1 match of the mouse and can see a max polling rate of about ~1850hz when set to 2000hz on the mouse, which is pretty inline with what i see on a direct connection to my computer. When the sutters occur there is a drop in reported polling rate of about -500 which then shoots back up shortly after.

Tested on multiple USB ports on my computer, making sure to test CPU and Chipset ports for different behavior. This is also replicated when using my laptop. This behavior also stops happening when using the exact same mouse set to a lower report rate such as 1000hz or 500hz.

Mouse used: Attack Shark R5 Ultra set to 2000hz.

C++:
#include <USBHost_t36.h>
#include <Mouse.h>

USBHost myusb;
USBHub hub1(myusb);
USBHub hub2(myusb);
USBHIDParser hid1(myusb);
USBHIDParser hid2(myusb);
USBHIDParser hid3(myusb);
USBHIDParser hid4(myusb);
USBHIDParser hid5(myusb);
MouseController mouse1(myusb);

void setup() {
  Serial.begin(115200);

  myusb.begin();
  Mouse.begin();
}

void loop() {
  myusb.Task();
  if (!mouse1.available()) return;

  int dx     = mouse1.getMouseX();
  int dy     = mouse1.getMouseY();
  int8_t  wheel  = mouse1.getWheel();
  uint8_t buttons = mouse1.getButtons();
  mouse1.mouseDataClear();

  if (dx != 0 || dy != 0 || wheel != 0) {
    Mouse.move(dx, dy, wheel);
  }

  Mouse.set_buttons(
    buttons & MOUSE_LEFT,
    buttons & MOUSE_MIDDLE,
    buttons & MOUSE_RIGHT,
    buttons & MOUSE_BACK,
    buttons & MOUSE_FORWARD
  );

  //Serial.printf("dx=%d dy=%d wheel=%d btn=0x%02X\n", dx, dy, wheel, buttons);
}

Code:
Connection Status Device connected
Current Configuration 1
Speed High
Device Address 94
Number Of Open Pipes 3

Device Descriptor R5 Ultra Mouse 2.4G
Offset Field Size Value Description
0 bLength 1 12h
1 bDescriptorType 1 01h Device
2 bcdUSB 2 0200h USB Spec 2.0
4 bDeviceClass 1 00h Class info in Ifc Descriptors
5 bDeviceSubClass 1 00h
6 bDeviceProtocol 1 00h
7 bMaxPacketSize0 1 40h 64 bytes
8 idVendor 2 373Eh
10 idProduct 2 0047h
12 bcdDevice 2 0200h 2.00
14 iManufacturer 1 01h "ATTACK SHARK"
15 iProduct 1 02h "R5 Ultra Mouse 2.4G"
16 iSerialNumber 1 03h "REDACTED"
17 bNumConfigurations 1 01h

Configuration Descriptor 1 Bus Powered, 100 mA
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 02h Configuration
2 wTotalLength 2 0054h
4 bNumInterfaces 1 03h
5 bConfigurationValue 1 01h
6 iConfiguration 1 00h
7 bmAttributes 1 A0h Bus Powered, Remote Wakeup
 4..0: Reserved  ...00000
 5: Remote Wakeup  ..1.....  Yes
 6: Self Powered  .0......  No, Bus Powered
 7: Reserved (set to one)
(bus-powered for 1.0)  1.......
8 bMaxPower 1 32h 100 mA

Interface Descriptor 0/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 00h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 01h Boot Interface
7 bInterfaceProtocol 1 02h Mouse
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0111h 1.11
4 bCountryCode 1 00h
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 005Bh 91 bytes

Endpoint Descriptor 81 1 In, Interrupt, 125 us
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 81h 1 In
3 bmAttributes 1 03h Interrupt
 1..0: Transfer Type  ......11  Interrupt
 7..2: Reserved  000000..
4 wMaxPacketSize 2 0008h 8 bytes
6 bInterval 1 01h 125 us

Interface Descriptor 1/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 01h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 01h Boot Interface
7 bInterfaceProtocol 1 01h Keyboard
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0111h 1.11
4 bCountryCode 1 00h
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 00A3h 163 bytes

Endpoint Descriptor 82 2 In, Interrupt, 125 us
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 82h 2 In
3 bmAttributes 1 03h Interrupt
 1..0: Transfer Type  ......11  Interrupt
 7..2: Reserved  000000..
4 wMaxPacketSize 2 0040h 64 bytes
6 bInterval 1 01h 125 us

Interface Descriptor 2/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 02h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 00h
7 bInterfaceProtocol 1 00h
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0111h 1.11
4 bCountryCode 1 00h
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 0014h 20 bytes

Endpoint Descriptor 83 3 In, Interrupt, 125 us
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 83h 3 In
3 bmAttributes 1 03h Interrupt
 1..0: Transfer Type  ......11  Interrupt
 7..2: Reserved  000000..
4 wMaxPacketSize 2 0040h 64 bytes
6 bInterval 1 01h 125 us

Interface 0 HID Report Descriptor Mouse
Item Tag (Value) Raw Data
Usage Page (Generic Desktop) 05 01
Usage (Mouse) 09 02
Collection (Application) A1 01
    Usage (Pointer) 09 01
    Collection (Physical) A1 00
        Usage Page (Button) 05 09
        Usage Minimum (Button 1) 19 01
        Usage Maximum (Button 5) 29 05
        Logical Minimum (0) 15 00
        Logical Maximum (1) 25 01
        Report Size (1) 75 01
        Report Count (5) 95 05
        Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
        Report Size (1) 75 01
        Report Count (3) 95 03
        Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
        Usage Page (Generic Desktop) 05 01
        Usage (Wheel) 09 38
        Logical Minimum (-127) 15 81
        Logical Maximum (127) 25 7F
        Report Size (8) 75 08
        Report Count (1) 95 01
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
        Usage (X) 09 30
        Usage (Y) 09 31
        Logical Minimum (-32768) 16 00 80
        Logical Maximum (32767) 26 FF 7F
        Report Size (16) 75 10
        Report Count (2) 95 02
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
        Usage Page (Consumer Devices) 05 0C
        Usage (AC Pan) 0A 38 02
        Logical Minimum (-127) 15 81
        Logical Maximum (127) 25 7F
        Report Size (8) 75 08
        Report Count (1) 95 01
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
        Usage (Undefined) 09 00
        Logical Minimum (0) 15 00
        Logical Maximum (1) 25 01
        Report Size (8) 75 08
        Report Count (1) 95 01
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
    End Collection C0
End Collection C0

Interface 1 HID Report Descriptor Consumer Control
Item Tag (Value) Raw Data
Usage Page (Consumer Devices) 05 0C
Usage (Consumer Control) 09 01
Collection (Application) A1 01
    Report ID (1) 85 01
    Usage Minimum (Undefined) 19 00
    Usage Maximum (AC Format) 2A 3C 02
    Logical Minimum (0) 15 00
    Logical Maximum (572) 26 3C 02
    Report Count (1) 95 01
    Report Size (16) 75 10
    Input (Data,Ary,Abs) 81 00
End Collection C0
Usage Page (Generic Desktop) 05 01
Usage (System Control) 09 80
Collection (Application) A1 01
    Report ID (2) 85 02
    Usage Minimum (System Power Down) 19 81
    Usage Maximum (System Wake Up) 29 83
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (3) 95 03
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (5) 95 05
    Input (Cnst,Ary,Abs) 81 01
End Collection C0
Usage Page (Generic Desktop) 05 01
Usage (Keyboard) 09 06
Collection (Application) A1 01
    Report ID (3) 85 03
    Usage Page (Keyboard/Keypad) 05 07
    Usage Minimum (Keyboard Left Control) 19 E0
    Usage Maximum (Keyboard Right GUI) 29 E7
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (8) 95 08
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (1) 95 01
    Report Size (8) 75 08
    Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
    Report Count (5) 95 05
    Report Size (1) 75 01
    Usage Page (LEDs) 05 08
    Usage Minimum (Num Lock) 19 01
    Usage Maximum (Kana) 29 05
    Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
    Report Count (1) 95 01
    Report Size (3) 75 03
    Output (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 03
    Report Count (6) 95 06
    Report Size (8) 75 08
    Logical Minimum (0) 15 00
    Logical Maximum (101) 25 65
    Usage Page (Keyboard/Keypad) 05 07
    Usage Minimum (Undefined) 19 00
    Usage Maximum (Keyboard Application) 29 65
    Input (Data,Ary,Abs) 81 00
End Collection C0
Usage Page (Vendor-Defined 161) 06 A0 FF
Usage (Vendor-Defined 1) 09 01
Collection (Application) A1 01
    Report ID (4) 85 04
    Usage (Vendor-Defined 1) 09 01
    Logical Minimum (0) 15 00
    Logical Maximum (255) 26 FF 00
    Report Size (8) 75 08
    Report Count (8) 95 08
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
End Collection C0
Usage Page (Vendor-Defined 256) 06 FF FF
Usage (Vendor-Defined 1) 09 01
Collection (Application) A1 01
    Report ID (5) 85 05
    Usage (Vendor-Defined 1) 09 01
    Logical Minimum (0) 15 00
    Logical Maximum (255) 26 FF 00
    Report Size (8) 75 08
    Report Count (8) 95 08
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
End Collection C0

Interface 2 HID Report Descriptor
Item Tag (Value) Raw Data
Usage Page (Vendor-Defined 256) 06 FF FF
Usage (Undefined) 09 00
Collection (Application) A1 01
    Usage (Undefined) 09 00
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (8) 75 08
    Report Count (64) 95 40
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
End Collection C0

Code:
Connection Status Device connected
Current Configuration 1
Speed High
Device Address 1
Number Of Open Pipes 3

Device Descriptor R5 Ultra Mouse 2.4G
Offset Field Size Value Description
0 bLength 1 12h
1 bDescriptorType 1 01h Device
2 bcdUSB 2 0200h USB Spec 2.0
4 bDeviceClass 1 00h Class info in Ifc Descriptors
5 bDeviceSubClass 1 00h
6 bDeviceProtocol 1 00h
7 bMaxPacketSize0 1 40h 64 bytes
8 idVendor 2 373Eh
10 idProduct 2 0047h
12 bcdDevice 2 0200h 2.00
14 iManufacturer 1 01h "ATTACK SHARK"
15 iProduct 1 02h "R5 Ultra Mouse 2.4G"
16 iSerialNumber 1 03h "REDACTED"
17 bNumConfigurations 1 01h

Device Qualifier Descriptor
Offset Field Size Value Description
0 bLength 1 0Ah
1 bDescriptorType 1 06h Device Qualifier
2 bcdUSB 2 0200h USB Spec 2.0
4 bDeviceClass 1 00h Class info in Ifc Descriptors
5 bDeviceSubClass 1 00h
6 bDeviceProtocol 1 00h
7 bMaxPacketSize0 1 40h 64 bytes
8 bNumConfigurations 1 01h
9 bReserved 1 00h

Configuration Descriptor 1 Bus Powered, 100 mA
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 02h Configuration
2 wTotalLength 2 0054h
4 bNumInterfaces 1 03h
5 bConfigurationValue 1 01h
6 iConfiguration 1 00h
7 bmAttributes 1 A0h Bus Powered, Remote Wakeup
 4..0: Reserved  ...00000
 5: Remote Wakeup  ..1.....  Yes
 6: Self Powered  .0......  No, Bus Powered
 7: Reserved (set to one)
(bus-powered for 1.0)  1.......
8 bMaxPower 1 32h 100 mA

Interface Descriptor 0/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 00h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 01h Boot Interface
7 bInterfaceProtocol 1 02h Mouse
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0111h 1.11
4 bCountryCode 1 00h
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 005Bh 91 bytes

Endpoint Descriptor 81 1 In, Interrupt, 125 us
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 81h 1 In
3 bmAttributes 1 03h Interrupt
 1..0: Transfer Type  ......11  Interrupt
 7..2: Reserved  000000..
4 wMaxPacketSize 2 0008h 8 bytes
6 bInterval 1 01h 125 us

Interface Descriptor 1/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 01h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 01h Boot Interface
7 bInterfaceProtocol 1 01h Keyboard
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0111h 1.11
4 bCountryCode 1 00h
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 00A3h 163 bytes

Endpoint Descriptor 82 2 In, Interrupt, 125 us
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 82h 2 In
3 bmAttributes 1 03h Interrupt
 1..0: Transfer Type  ......11  Interrupt
 7..2: Reserved  000000..
4 wMaxPacketSize 2 0040h 64 bytes
6 bInterval 1 01h 125 us

Interface Descriptor 2/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 02h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 00h
7 bInterfaceProtocol 1 00h
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0111h 1.11
4 bCountryCode 1 00h
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 0014h 20 bytes

Endpoint Descriptor 83 3 In, Interrupt, 125 us
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 83h 3 In
3 bmAttributes 1 03h Interrupt
 1..0: Transfer Type  ......11  Interrupt
 7..2: Reserved  000000..
4 wMaxPacketSize 2 0040h 64 bytes
6 bInterval 1 01h 125 us

Other Speed Configuration Descriptor 1 Bus Powered, 100 mA
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 07h Other Speed Configuration
2 wTotalLength 2 0022h
4 bNumInterfaces 1 01h
5 bConfigurationValue 1 01h
6 iConfiguration 1 00h
7 bmAttributes 1 A0h Bus Powered, Remote Wakeup
 4..0: Reserved  ...00000
 5: Remote Wakeup  ..1.....  Yes
 6: Self Powered  .0......  No, Bus Powered
 7: Reserved (set to one)
(bus-powered for 1.0)  1.......
8 bMaxPower 1 32h 100 mA

Interface Descriptor 0/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 00h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 01h Boot Interface
7 bInterfaceProtocol 1 02h Mouse
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0111h 1.11
4 bCountryCode 1 00h
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 005Bh 91 bytes

Endpoint Descriptor 81 1 In, Interrupt, 125 us
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 81h 1 In
3 bmAttributes 1 03h Interrupt
 1..0: Transfer Type  ......11  Interrupt
 7..2: Reserved  000000..
4 wMaxPacketSize 2 0008h 8 bytes
6 bInterval 1 01h 125 us

Interface 0 HID Report Descriptor Mouse
Item Tag (Value) Raw Data
Usage Page (Generic Desktop) 05 01
Usage (Mouse) 09 02
Collection (Application) A1 01
    Usage (Pointer) 09 01
    Collection (Physical) A1 00
        Usage Page (Button) 05 09
        Usage Minimum (Button 1) 19 01
        Usage Maximum (Button 5) 29 05
        Logical Minimum (0) 15 00
        Logical Maximum (1) 25 01
        Report Size (1) 75 01
        Report Count (5) 95 05
        Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
        Report Size (1) 75 01
        Report Count (3) 95 03
        Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
        Usage Page (Generic Desktop) 05 01
        Usage (Wheel) 09 38
        Logical Minimum (-127) 15 81
        Logical Maximum (127) 25 7F
        Report Size (8) 75 08
        Report Count (1) 95 01
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
        Usage (X) 09 30
        Usage (Y) 09 31
        Logical Minimum (-32768) 16 00 80
        Logical Maximum (32767) 26 FF 7F
        Report Size (16) 75 10
        Report Count (2) 95 02
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
        Usage Page (Consumer Devices) 05 0C
        Usage (AC Pan) 0A 38 02
        Logical Minimum (-127) 15 81
        Logical Maximum (127) 25 7F
        Report Size (8) 75 08
        Report Count (1) 95 01
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
        Usage (Undefined) 09 00
        Logical Minimum (0) 15 00
        Logical Maximum (1) 25 01
        Report Size (8) 75 08
        Report Count (1) 95 01
        Input (Data,Var,Rel,NWrp,Lin,Pref,NNul,Bit) 81 06
    End Collection C0
End Collection C0

Interface 1 HID Report Descriptor Consumer Control
Item Tag (Value) Raw Data
Usage Page (Consumer Devices) 05 0C
Usage (Consumer Control) 09 01
Collection (Application) A1 01
    Report ID (1) 85 01
    Usage Minimum (Undefined) 19 00
    Usage Maximum (AC Format) 2A 3C 02
    Logical Minimum (0) 15 00
    Logical Maximum (572) 26 3C 02
    Report Count (1) 95 01
    Report Size (16) 75 10
    Input (Data,Ary,Abs) 81 00
End Collection C0
Usage Page (Generic Desktop) 05 01
Usage (System Control) 09 80
Collection (Application) A1 01
    Report ID (2) 85 02
    Usage Minimum (System Power Down) 19 81
    Usage Maximum (System Wake Up) 29 83
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (3) 95 03
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (5) 95 05
    Input (Cnst,Ary,Abs) 81 01
End Collection C0
Usage Page (Generic Desktop) 05 01
Usage (Keyboard) 09 06
Collection (Application) A1 01
    Report ID (3) 85 03
    Usage Page (Keyboard/Keypad) 05 07
    Usage Minimum (Keyboard Left Control) 19 E0
    Usage Maximum (Keyboard Right GUI) 29 E7
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (1) 75 01
    Report Count (8) 95 08
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
    Report Count (1) 95 01
    Report Size (8) 75 08
    Input (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 03
    Report Count (5) 95 05
    Report Size (1) 75 01
    Usage Page (LEDs) 05 08
    Usage Minimum (Num Lock) 19 01
    Usage Maximum (Kana) 29 05
    Output (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 02
    Report Count (1) 95 01
    Report Size (3) 75 03
    Output (Cnst,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) 91 03
    Report Count (6) 95 06
    Report Size (8) 75 08
    Logical Minimum (0) 15 00
    Logical Maximum (101) 25 65
    Usage Page (Keyboard/Keypad) 05 07
    Usage Minimum (Undefined) 19 00
    Usage Maximum (Keyboard Application) 29 65
    Input (Data,Ary,Abs) 81 00
End Collection C0
Usage Page (Vendor-Defined 161) 06 A0 FF
Usage (Vendor-Defined 1) 09 01
Collection (Application) A1 01
    Report ID (4) 85 04
    Usage (Vendor-Defined 1) 09 01
    Logical Minimum (0) 15 00
    Logical Maximum (255) 26 FF 00
    Report Size (8) 75 08
    Report Count (8) 95 08
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
End Collection C0
Usage Page (Vendor-Defined 256) 06 FF FF
Usage (Vendor-Defined 1) 09 01
Collection (Application) A1 01
    Report ID (5) 85 05
    Usage (Vendor-Defined 1) 09 01
    Logical Minimum (0) 15 00
    Logical Maximum (255) 26 FF 00
    Report Size (8) 75 08
    Report Count (8) 95 08
    Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 02
End Collection C0

Interface 2 HID Report Descriptor
Item Tag (Value) Raw Data
Usage Page (Vendor-Defined 256) 06 FF FF
Usage (Undefined) 09 00
Collection (Application) A1 01
    Usage (Undefined) 09 00
    Logical Minimum (0) 15 00
    Logical Maximum (1) 25 01
    Report Size (8) 75 08
    Report Count (64) 95 40
    Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,NVol,Bit) B1 02
End Collection C0

Code:
OS: Up to date Windows 11
CPU: 9800X3D
Motherboard: MSI B650 Tomahawk
RAM: 32GB DDR5 6000MT CL36
Mice Tested: Attack Shark R5 Ultra (8000hz Max), VGN Dragonfly F1 Pro (1000hz)
 
Last edited:
Sorry, I don't typically click on things with spoiler and not seeing where it is linked to.
Could be spam or malicious or perfectly innocent. Others here may be the same.

Suggest that either include them directly or the like.
 
Sorry, I don't typically click on things with spoiler and not seeing where it is linked to.
Could be spam or malicious or perfectly innocent. Others here may be the same.

Suggest that either include them directly or the like.
Thats understandable, the spoilers are just meant to be able to hide and unhide blocks because the USB dumps specifically are really long. No external links, all is just text.

I don't see an option to edit the post anymore but if needed i guess i'll make a new thread without the spoilers, thanks for the heads up.

1777854443848.png
 
Back
Top