Difference between revisions of "Steam Controller"

From GIMX
Jump to: navigation, search
(triggers)
(Add d-pad buttons.)
 

(3 intermediate revisions by the same user not shown)

Line 16: Line 16:
 
|-
 
|-
 
|[0]
 
|[0]
|colspan="8"| unknown (0x01) - maybe the controller number?
+
|colspan="8"| unknown, 0x01 - maybe the controller number?
 
|-
 
|-
 
|[1]
 
|[1]
|colspan="8"| unknown (0x00)
+
|colspan="8"| unknown, 0x00
 
|-
 
|-
 
|[2-3]
 
|[2-3]
Line 25: Line 25:
 
|-
 
|-
 
|[4-5]
 
|[4-5]
|colspan="8"| counter (unsigned, little endian)
+
|colspan="8"| counter, unsigned, little endian
 
|-
 
|-
|[6-7]
+
|[6]
|colspan="8"| unknown (0x0000)
+
|colspan="8"| unknown, idle = 0x00, input = 0x04
 +
|-
 +
|[7]
 +
|colspan="8"| unknown, 0x00
 
|-
 
|-
 
|[8]
 
|[8]
Line 45: Line 48:
 
| steam
 
| steam
 
| next
 
| next
| left pad button
+
| d-pad down
| ?
+
| d-pad left
| ?
+
| d-pad right
| ?
+
| d-pad up
 
|-
 
|-
 
|[10]
 
|[10]
Line 67: Line 70:
 
|-
 
|-
 
|[13-15]
 
|[13-15]
|colspan="8"|  
+
|colspan="8"| unknown, 0x000000
 
|-
 
|-
 
|[16-17]
 
|[16-17]

Latest revision as of 01:50, 23 April 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-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