Messages in this thread | | | Subject | Re: [PATCH] HID: sony: disable descriptor fixup for FutureMax Dance Mat | From | Mikko Perttunen <> | Date | Mon, 25 Jul 2016 18:23:07 +0300 |
| |
On 07/25/16 14:05, Antonio Ospite wrote: > On Mon, 25 Jul 2016 11:14:04 +0200 > Benjamin Tissoires <benjamin.tissoires@redhat.com> wrote: > >> On Jul 21 2016 or thereabouts, Antonio Ospite wrote: > [...] >>> It would be interesting to understand why some (supposedly) compatible >>> devices break, maybe they rely on the fact that the PS3 would use the >>> original report? >> >> [just speculating] >> I would be *really* surprised if the Sony software were to overwrite the >> report descriptor of their own sony controllers. My guess is that their >> HID stack or their Playstation driver is compatible with the original >> report descriptors and so they can handle the differences between >> original and weirdo controllers. >> > > That's basically what I was thinking too, in my last sentence I meant > to write report _descriptor_ :) > > Mikko, if you have some time, could you post the original report > descriptor for your device?
Sure, here's the output from hidrd-convert:
0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x04, /* Usage (Joystick), */ 0xA1, 0x01, /* Collection (Application), */ 0x09, 0x01, /* Usage (Pointer), */ 0xA1, 0x00, /* Collection (Physical), */ 0x05, 0x09, /* Usage Page (Button), */ 0x19, 0x01, /* Usage Minimum (01h), */ 0x29, 0x0A, /* Usage Maximum (0Ah), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x0A, /* Report Count (10), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x06, /* Report Count (6), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0xC0, /* End Collection, */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x25, 0x01, /* Logical Maximum (1), */ 0xC0 /* End Collection */
> > $ hexdump /sys/bus/hid/devices/XXXX\:YYYY\:ZZZZ.0001/report_descriptor > > or > > $ hidrd-convert -i natv -o code /sys/bus/hid/devices/XXXX\:YYYY\:ZZZZ.0001/report_descriptor > > You can also find out the length of the raw output report with trial and > error, start with a line like this: > > $ sudo hexdump -v -e '49/1 "%02x " "\n"' /dev/hidraw0 > > and increase/decrease the value (49 works with original controllers) > until you see a regular pattern when comparing lines. >
/dev/hidraw0 seems to be all zeroes straight from the beginning
> Anyways this is just for curiosity, we are not going to spend too much > time on that... or are we? :)
At least it's some reference information.. :)
> > Thanks, > Antonio >
Cheers, Mikko.
| |