Sony PlayStation 3 DualShock 3 Controller Hardware Report

LSUSB
Bus 001 Device 004: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller Device Descriptor: bLength               18 bDescriptorType        1 bcdUSB              2.00 bDeviceClass           0 (Defined at Interface level) bDeviceSubClass        0 bDeviceProtocol        0 bMaxPacketSize0       64 idVendor          0x054c Sony Corp.  idProduct          0x0268 Batoh Device / PlayStation 3 Controller bcdDevice           1.00 iManufacturer          1 iProduct               2 iSerial                0 bNumConfigurations     1 Configuration Descriptor: bLength                9 bDescriptorType        2 wTotalLength      0x0029 bNumInterfaces         1 bConfigurationValue    1 iConfiguration         0 bmAttributes        0x80 (Bus Powered) MaxPower             500mA Interface Descriptor: bLength                9 bDescriptorType        4 bInterfaceNumber       0 bAlternateSetting      0 bNumEndpoints          2 bInterfaceClass        3 Human Interface Device bInterfaceSubClass     0 No Subclass bInterfaceProtocol     0 None iInterface             0 HID Device Descriptor: bLength                9 bDescriptorType       33 bcdHID              1.11 bCountryCode           0 Not supported bNumDescriptors        1 bDescriptorType       34 Report wDescriptorLength    148 Report Descriptor: (length is 148) Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Local ): Usage, data= [ 0x04 ] 4 Joystick Item(Main ): Collection, data= [ 0x01 ] 1 Application Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Global): Report ID, data= [ 0x01 ] 1 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x01 ] 1 Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Main ): Input, data= [ 0x03 ] 3 Constant Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Report Count, data= [ 0x13 ] 19 Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0x01 ] 1 Item(Global): Physical Minimum, data= [ 0x00 ] 0 Item(Global): Physical Maximum, data= [ 0x01 ] 1 Item(Global): Usage Page, data= [ 0x09 ] 9 Buttons Item(Local ): Usage Minimum, data= [ 0x01 ] 1 Button 1 (Primary) Item(Local ): Usage Maximum, data= [ 0x13 ] 19 (null) Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x01 ] 1 Item(Global): Report Count, data= [ 0x0d ] 13 Item(Global): Usage Page, data= [ 0x00 0xff ] 65280 (null) Item(Main ): Input, data= [ 0x03 ] 3 Constant Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Logical Minimum, data= [ 0x00 ] 0 Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255 Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Collection, data= [ 0x00 ] 0 Physical Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x04 ] 4 Item(Global): Physical Minimum, data= [ 0x00 ] 0 Item(Global): Physical Maximum, data= [ 0xff 0x00 ] 255 Item(Local ): Usage, data= [ 0x30 ] 48 Direction-X Item(Local ): Usage, data= [ 0x31 ] 49 Direction-Y Item(Local ): Usage, data= [ 0x32 ] 50 Direction-Z Item(Local ): Usage, data= [ 0x35 ] 53 Rotate-Z Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Global): Usage Page, data= [ 0x01 ] 1 Generic Desktop Controls Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x27 ] 39 Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Input, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x30 ] 48 Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Output, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x30 ] 48 Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Feature, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Global): Report ID, data= [ 0x02 ] 2 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x30 ] 48 Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Feature, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Global): Report ID, data= [ 0xee ] 238 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x30 ] 48 Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Feature, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Main ): Collection, data= [ 0x02 ] 2 Logical Item(Global): Report ID, data= [ 0xef ] 239 Item(Global): Report Size, data= [ 0x08 ] 8 Item(Global): Report Count, data= [ 0x30 ] 48 Item(Local ): Usage, data= [ 0x01 ] 1 Pointer Item(Main ): Feature, data= [ 0x02 ] 2 Data Variable Absolute No_Wrap Linear Preferred_State No_Null_Position Non_Volatile Bitfield Item(Main ): End Collection, data=none Item(Main ): End Collection, data=none Endpoint Descriptor: bLength                7 bDescriptorType        5 bEndpointAddress    0x02  EP 2 OUT bmAttributes           3 Transfer Type           Interrupt Synch Type              None Usage Type              Data wMaxPacketSize    0x0040  1x 64 bytes bInterval              1 Endpoint Descriptor: bLength                7 bDescriptorType        5 bEndpointAddress    0x81  EP 1 IN        bmAttributes            3 Transfer Type           Interrupt Synch Type              None Usage Type              Data wMaxPacketSize    0x0040  1x 64 bytes bInterval              1 Device Status:    0x0000 (Bus Powered) 