Steam Controller

From GIMX
Jump to: navigation, search

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