Re: Byte swapping u16 data in HID report

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Marcin Tolysz (added to CC), worked on the sixaxis descriptor before,
> see http://permalink.gmane.org/gmane.linux.bluez.kernel/5184

Looks like this is over a year old, so I presume that it got dropped.

For reference I use a small(er) shim to the existing descriptor
--
static const u8 sixaxis_rdesc_fixup[] = {
    0x95, 0x13, 0x09, 0x01, 0x81, 0x02, 0x95, 0x0C,
    0x81, 0x01, 0x75, 0x10, 0x95, 0x04, 0x26, 0xFF,
    0x03, 0x46, 0xFF, 0x03, 0x09, 0x01, 0x81, 0x02
    };
--
    if ((sc->quirks & SIXAXIS_CONTROLLER_USB) &&
            *rsize == 148 && rdesc[83] == 0x75) {
        hid_info(hdev, "Fixing up Sony Sixaxis report descriptor\n");
        memcpy((void *)&rdesc[83], (void *) &sixaxis_rdesc_fixup,
sizeof(sixaxis_rdesc_fixup));
--

I'll look at the byte swap stuff from Marcin's patch and submit a patch
here it appears to work.

BTW. There are a great set of tools for encoding/decoding the HID
descriptors here:
http://digimend.sourceforge.net/

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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux