Hello all, I've recently acquired Thrustmaster T.Flight 4 HOTAS, and few of the axes do not work, so I wanted to try and fix that. I've gotten as far as decoding the USB HID report and comparing it to the data packets - and realizing that HID report basically lies about offsets. The axes that do work are reported correctly, but those that are missing are changing byte values in Vendor Specific areas. The user manual also says that if the HOTAS is to be used on PC, it is very important to install proprietary driver, otherwise some axes won't work. I've got a tip from a friend that some hardware requires vendor specific GET FEATURE request to put hardware into compliant mode, but I have instead started hacking together a simple userspace program to parse bytes at correct offsets, and then asked for advice about how to get this done so that joydev (or evdev, I am not sure) properly picks this up, rather than (I'm assuming?) relying on HID report to get the data. This _might_ produce a buggy driver since joystick has a plug for pedals as well, which may change things if they're plugged in. Another person advised me that they don't believe this can be done in userspace, that I should write a kernel module if I feel capable, and that if I'm comfortable with coding and willing to merge it upstream - I should seek further help here. They further suggested that it might be possible to use a generic driver as a foundation and make a specialized version that only loads when vendor and product ID's match the hardware. If these suggestions are correct - I have a basic skeleton helloworld module building and working and my userspace prototype (based on Alan Ott's example). I could use some guidance, even just pointers to correct places in documentation would be very useful. I tried finding my way myself, but there's so much information I have no idea where to even start. Thanks. -- John Z. "Rip and tear until it is done."