It's a while since I last looked at USB but I'm finding it difficult to source useful material to explain the data packet I get from a USB mouse.
I have 3 mice I'm looking at for reference and to understand what I have to deal with. This is for a USB HID Host application running on a STM MCU.
The only documentation I have is hid1_11.pdf which can be easily found and on page 71 this gives the description for the first 3 bytes.
One mouse, a basic USB trackball conforms to these 3 bytes and even the "wMaxPacketSize" in the descriptors matches 3.
Another no-name mouse, well specifically a "Beijing Sigmachip Co., Ltd", has a "wMaxPacketSize" of 4, I haven't checked it's going to be a near certainty/obvious that the 4th byte is going to be the wheel/scroll movement.
The last no-name mouse claiming to be "Silicon Laboratories, Inc." has a "wMaxPacketSize" of 8 but replies with 6 bytes.
It seems a little inconsistent where most of the time the 6th packet has the wheel/scroll movement. As an aside, and as one might, Windows seems to support this mouse.
The only other information I could find was a Microsoft document for mice and Vista, Wheel.docx dated the 10th November 2010. The "Input Report" is inconsistent in having a Report ID as the first byte and AC Pan as the last (on page 5).
I have been using Wireshark capturing USB packets so can monitor this strangely behaving mouse.
Is there any unofficial/official documentation that might assist in the understanding of these data bytes?