Steam Controller
IN report
The IN report packets contain 64 bytes.
byte index | bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0 |
[0] | unknown, 0x01 - maybe the controller number? | |||||||
[1] | unknown, 0x00 | |||||||
[2-3] | input = 0x013c, idle = 0x040b, on/off = 0x0301 | |||||||
[4-5] | counter, unsigned, little endian | |||||||
[6] | unknown, idle = 0x00, input = 0x04 | |||||||
[7] | unknown, 0x00 | |||||||
[8] | A | X | B | Y | LT | RT | LB | RB |
[9] | LG | previous | steam | next | d-pad down | d-pad left | d-pad right | d-pad up |
[10] | ? | left stick button | ? | right pad touched | left pad touched | right pad button | left pad button or left stick button | RG |
[11] | LT, released = 0x00, fully pressed = 0xff | |||||||
[12] | RT, released = 0x00, fully pressed = 0xff | |||||||
[13-15] | unknown, 0x000000 | |||||||
[16-17] | left pad x or stick x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767) | |||||||
[18-19] | left pad y or stick y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767) | |||||||
[20-21] | right pad x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767) | |||||||
[22-23] | right pad y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767) | |||||||
todo |