Vpad.rpl
Revision as of 16:43, 5 April 2015 by Marionumber1 (talk | contribs) (Specify that the Gamepad is known as VPAD and clarify VPADRead() description)
This controls communication with the Gamepad, internally called VPAD by this library. It uses the VPADBASE library internally.
Functions
Name | Prototype | Description |
---|---|---|
VPADRead | int VPADRead(int padnum, void *buffer, int length, int *err); | Stores raw controller data in buffer for the specified Gamepad |
Structures
VPAD Data
Can be gotten using VPADRead(), length seems to control the max amount of "datasets" to keep. A single dataset containing raw controller data is 0xAC bytes.
Offset | Length | Description |
---|---|---|
2 | 2 | Buttons, ABXY, Left, Right, Up, Down in that order (bits) |
3 | 1 | Buttons, ZL, ZR, L, R, +, -, Power/Home, Sync in that order (bits) |
12 | 8 | Left Joystick, vectors for X and Y |
20 | 8 | Right Joystick, vectors for X and Y |
Touchscreen Input | ||
82 | 2 | Touchscreen X |
84 | 2 | Touchscreen Y |
86 | 2 | Flag for if touchscreen is currently being touched (1 = Yes, 0 = No) |
88 | 2 | Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid) |
90 | 2 | Modified Touchscreen X? |
92 | 2 | Modified Touchscreen Y? |
94 | 2 | Modified Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)? |
96 | 2 | Modified Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)? |
98 | 2 | Modified Touchscreen X? |
100 | 2 | Modified Touchscreen Y? |
102 | 2 | Modified Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)? |
104 | 2 | Modified Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)? |
Other Data | ||
160 | 1 | Something related to volume slider |
161 | 1 | Battery related. Charge level? out of 6 |
163 | 1 | Something related to volume slider(one less than 0xA0) |
164 | 8 | Padding? |