Difference between revisions of "Steam Controller"

From GIMX
Jump to: navigation, search
(fix ceils)
(fix index)
Line 63: Line 63:
 
| RG
 
| RG
 
|-
 
|-
|[11-13]
+
|[11-15]
 
|colspan="8"| unknown
 
|colspan="8"| unknown
 
|-
 
|-
|[14-15]
+
|[16-17]
 
|colspan="8"| left pad x or stick x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767)
 
|colspan="8"| left pad x or stick x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767)
 
|-
 
|-
|[16-17]
+
|[18-19]
 
|colspan="8"| left pad y or stick y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767)
 
|colspan="8"| left pad y or stick y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767)
 
|-
 
|-
|[18-19]
+
|[20-21]
 
|colspan="8"| right pad x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767)
 
|colspan="8"| right pad x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767)
 
|-
 
|-
|[20-21]
+
|[22-23]
 
|colspan="8"| right pad y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767)
 
|colspan="8"| right pad y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767)
 
|-
 
|-
 
|todo
 
|todo
 
|}
 
|}

Revision as of 22:58, 24 March 2016

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