Difference between revisions of "Network API"
(→Get controller type) |
|||
Line 47: | Line 47: | ||
|- | |- | ||
| 0x05 || DS4 | | 0x05 || DS4 | ||
+ | |- | ||
+ | | 0x06 || Xbox One PAD | ||
|- | |- | ||
| 0x07 || T300RS PS4 | | 0x07 || T300RS PS4 | ||
Line 53: | Line 55: | ||
|- | |- | ||
| 0x09 || G29 PS4 | | 0x09 || G29 PS4 | ||
+ | |- | ||
+ | | 0x0A || Driving Force PS2 | ||
+ | |- | ||
+ | | 0x0B || Driving Force Pro PS2 | ||
+ | |- | ||
+ | | 0x0C || GT Force PS2 | ||
|} | |} | ||
Revision as of 16:19, 3 February 2018
This page describes how to talk to a GIMX instance that is listening for UDP packets on a specific port.
See the "--src IP:port" argument on the Command line page to learn how to start such a GIMX instance.
Contents
Protocol starting from version 7.1
One problem with the earlier protocol was that backward compatibility was broken each time a new axis was added to the controller map.
The new protocol allows to send any number of axis values.
Get controller type
It's possible to send a packet to get the controller type from the remote GIMX.
byte | value |
0 | 0x00 |
1 | 0x00 |
byte | value |
0 | 0x00 |
1 | 0x01 |
2 | value |
value | type |
0x00 | JOYSTICK |
0x01 | 360 PAD |
0x02 | SIXAXIS |
0x05 | DS4 |
0x06 | Xbox One PAD |
0x07 | T300RS PS4 |
0x08 | G27 PS3 |
0x09 | G29 PS4 |
0x0A | Driving Force PS2 |
0x0B | Driving Force Pro PS2 |
0x0C | GT Force PS2 |
Send report
All axes are unsigned 32-bit integers (network byte order).
The Controller Maps page describes the axes and the value ranges corresponding to each controller type.
byte | value | ||||||||||||||||
0 | 0x01 | ||||||||||||||||
1 | number of axes to follow | ||||||||||||||||
2 |
| ||||||||||||||||
3-6 | axis value | ||||||||||||||||
... | repeat 2 and 3-6 for each axis to update |
Protocol for versions up to 6.11
Get controller type
It's possible to send a packet to get the controller type from the remote GIMX.
byte | value |
0 | 0x11 |
1 | 0x00 |
byte | value |
0 | 0x11 |
1 | 0x01 |
2 | value |
value | type |
0x00 | JOYSTICK |
0x01 | 360 PAD |
0x02 | SIXAXIS |
0x05 | DS4 |
0x07 | T300RS PS4 |
0x08 | G27 PS3 |
0x09 | G29 PS4 |
Send report
All axes are signed integers.
The Controller Maps page describes the axes and the value ranges corresponding to each controller type.
byte | value |
0 | 0xff |
1 | 0x9C = 156 |
2-5 | axis 0 |
6-9 | axis 1 |
... | |
158-161 | axis 39 (changed in GIMX 6.10) |