Steam Controller

From GIMX

Revision as of 22:58, 24 March 2016 by Matlo (talk | contribs) (fix index)

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] 0x01 when controls change, and 0x04 when no control change after a few seconds
[3] 0x3c when controls change, and 0x0b when no control change after a few seconds
[4-5] counter (unsigned, little endian)
[6-7] unknown (0x0000)
[8] A X B Y LT RT LB RB
[9] LG previous steam next left pad button ? ? ?
[10] ? left stick button ? right pad touched left pad touched right pad button left pad button or left stick button RG
[11-15] unknown
[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