Hi Michael and all, > As there are significant differences in the descriptor (original > descriptor > "hides" the separate axes in a 24 bit FF00 usagepage, new descripter > replaces > that with two individual 8 bit desktop.y and desktop.rz usages) I provided > a > complete replacement descriptor instead trying to patch the original one. > Patching the descriptor seems not feasible as the new one is much larger. I think there a couple problems with your replacement descriptor, although I don't have a wheel to test with). 1). There is no 'NULL state' on the hatswitch 2). The original does Y then 3 others, the replacement does Y + RZ then 1 other. When I was looking at doing a similar thing for another wheel I recall that there was a way of doing a 1 byte NOP, but can't remember how at the moment. So you might want to try just patching the original as follows. > + * 0x95, 0x01, // Report Count (1), > + * 0x75, 0x08, // Report Size (8), > + * 0x26, 0xFF, 0x00, // Logical Maximum (255), > + * 0x46, 0xFF, 0x00, // Physical Maximum (255), > + * 0x09, 0x31, // Usage (Y), > + * 0x81, 0x02, // Input (Variable), > + * 0x06, 0x00, 0xFF, // Usage Page (FF00h), -> NOP + ReportCount(3) > + * 0x09, 0x00, // Usage (00h), -> usage(Z) > + * 0x95, 0x03, // Report Count (3), -> usage(Rx) > + * 0x75, 0x08, // Report Size (8), -> usage(Ry) > + * 0x81, 0x02, // Input (Variable), > + * 0xC0, // End Collection, Most settings roll over between sections, so don't need to be redefined. I don't think the exact 'usage()' is important as Linux will just see them as axis. Cheers, Simon -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html