Hello,
I've been trying to pass consumer device AC Zoom per the HID Usage tables, and I can't seem to get it to work in Windows. I've tried both the LC (linear control) absolute, as well as the relative, and neither do anything. Is this supported in Windows standard HID drivers? I can't find any questions on this, nor info in the MSDN docs specifically for this function.
I appreciate any feedback.
Thanks.
Brent
Here is my descriptor: I added with the AC PAN under a mouse since that is working fine.
0x05, 0x01, /* Usage Page (Generic Desktop), 8 */
0x09, 0x02, /* Usage (Mouse), */
0xA1, 0x01, /* Collection (Application), */
0x09, 0x01, /* Usage (Pointer), */
0xA1, 0x00, /* Collection (Physical), 20 */
0x85, 0x01, /* Report Id (1) */
0x05, 0x09, /* Usage Page (Buttons), */
0x19, 0x01, /* Usage Minimum (01), */
0x29, 0x03, /* Usage Maximum (03), */
0x15, 0x00, /* Logical Minimum (0), */
0x25, 0x01, /* Logical Maximum (1), */
0x75, 0x01, /* Report Size (1), */
0x95, 0x03, /* Report Count (3), 3 bits for buttons */
0x81, 0x02, /* Input (Data, Variable, Absolute) */
0x75, 0x05, /* Report Size (5), 24 5 useless bits to make up even bytes */
0x95, 0x01, /* Report Count (1), */
0x81, 0x01, /* Input (Constant), */
0x05, 0x01, /* Usage Page (Generic Desktop), */
0x09, 0x30, /* Usage (X), */
0x09, 0x31, /* Usage (Y), */
0x09, 0x38, /* Usage (Scroll), */
0x15, 0x81, /* Logical Minimum (-127), */
0x25, 0x7F, /* Logical Maximum (127), */
0x75, 0x08, /* Report Size (8), */
0x95, 0x03, /* Report Count (3), each is a byte so its 3 separate bytes */
0x81, 0x06, /* Input (Data, Variable, Relative) */
0x05, 0x0c, // USAGE_PAGE (Consumer Devices) 15
0x0a, 0x2F, 0x02, // USAGE (AC Zoom)
0x0a, 0x38, 0x02, // USAGE (AC Pan)
0x15, 0x81, // LOGICAL_MINIMUM (-127)
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x02, // Report Count (2)
0x81, 0x06, // INPUT (Data,Var,Rel)
0xC0, /* End Collection, 2 */
0xC0, /* End Collection */