Difference between revisions of "Steam Controller"
 (buttons)  | 
				 (axes)  | 
				||
| Line 27: | Line 27: | ||
|colspan="8"| 0x3c when controls change, and 0x0b when no control change after a few seconds  | |colspan="8"| 0x3c when controls change, and 0x0b when no control change after a few seconds  | ||
|-  | |-  | ||
| − | |[4  | + | |[4-5]  | 
| − | + | |colspan="8"| counter (unsigned, little endian)  | |
| − | |||
| − | |||
| − | |colspan="8"| counter (  | ||
|-  | |-  | ||
|[6-7]  | |[6-7]  | ||
| Line 66: | Line 63: | ||
| RG  | | RG  | ||
|-  | |-  | ||
| − | |[11-  | + | |[11-13]  | 
| + | |-  | ||
| + | |[14-15] left pad x or stick x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767)  | ||
| + | |-  | ||
| + | |[16-17] left pad y or stick y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767)  | ||
| + | |-  | ||
| + | |[18-19] right pad x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767)  | ||
| + | |-  | ||
| + | |[20-21] right pad y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767)  | ||
|todo  | |todo  | ||
|}  | |}  | ||
Revision as of 21:53, 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-13] | ||||||||
| [14-15] left pad x or stick x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767) | ||||||||
| [16-17] left pad y or stick y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767) | ||||||||
| [18-19] right pad x, signed, little endian, left = 0x8001 (-32767), right = 0x7fff (32767) | ||||||||
| [20-21] right pad y, signed, little endian, down = 0x8001 (-32767), up = 0x7fff (32767) | todo | |||||||