In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Vpad.rpl"

From WiiUBrew
Jump to navigation Jump to search
m (Remove another subsection)
(More data)
Line 36: Line 36:
 
|Right Joystick, vectors for X and Y
 
|Right Joystick, vectors for X and Y
 
|-
 
|-
|0xA0
+
|0x52
 +
|2
 +
|Touchscreen X
 +
|-
 +
|0x54
 +
|2
 +
|Touchscreen Y
 +
|-
 +
|0x56
 +
|2
 +
|Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)
 +
|-
 +
|0x58
 +
|2
 +
|Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)
 +
|-
 +
|0x5A
 +
|2
 +
|Modified Touchscreen X?
 +
|-
 +
|0x5C
 +
|2
 +
|Modified Touchscreen Y?
 +
|-
 +
|0x5E
 +
|2
 +
|Modified Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)?
 +
|-
 +
|0x60
 +
|2
 +
|Modified Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)?
 +
|-
 +
|0x62
 +
|2
 +
|Modified Touchscreen X?
 +
|-
 +
|0x64
 +
|2
 +
|Modified Touchscreen Y?
 +
|-
 +
|0x66
 +
|2
 +
|Modified Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)?
 +
|-
 +
|0x68
 +
|2
 +
|Modified Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)?
 +
|-
 +
|0x6A
 
|1
 
|1
 
|Something related to volume slider
 
|Something related to volume slider

Revision as of 01:42, 5 April 2015

This controls communication with the Gamepad, using VPADBASE internally.

Functions

Name Prototype Description
VPADRead int VPADRead(int padnum, void *buffer, int length, int *err); Stores raw controller data in buffer

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
0x2 2 Buttons, ABXY, Left, Right, Up, Down in that order (bits)
0x3 1 Buttons, ZL, ZR, L, R, +, -, Power/Home, Sync in that order (bits)
0xC 8 Left Joystick, vectors for X and Y
0x14 8 Right Joystick, vectors for X and Y
0x52 2 Touchscreen X
0x54 2 Touchscreen Y
0x56 2 Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)
0x58 2 Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)
0x5A 2 Modified Touchscreen X?
0x5C 2 Modified Touchscreen Y?
0x5E 2 Modified Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)?
0x60 2 Modified Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)?
0x62 2 Modified Touchscreen X?
0x64 2 Modified Touchscreen Y?
0x66 2 Modified Flag for if touchscreen is currently being touched (1 = Yes, 0 = No)?
0x68 2 Modified Coordinate validation (0 = All Valid, 1 = Invalid X, 2 = Invalid Y, 3 = Both Invalid)?
0x6A 1 Something related to volume slider
0xA1 1 Battery related. Charge level? out of 6
0xA3 1 Something related to volume slider(one less than 0xA0)
0xA4 8 Padding?