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
(Added keys from https://github.com/Relys/libwiiu/blob/master/libwiiu/src/vpad.h)
Line 147: Line 147:
 
|KEY_DRC_ZL
 
|KEY_DRC_ZL
 
|0x0080
 
|0x0080
|Y button
+
|ZL button
 
|-
 
|-
 
|KEY_DRC_ZR
 
|KEY_DRC_ZR
 
|0x0040
 
|0x0040
|Y button
+
|ZR button
 
|-
 
|-
 
|KEY_DRC_L
 
|KEY_DRC_L
 
|0x0020
 
|0x0020
|Y button
+
|L button
 
|-
 
|-
 
|KEY_DRC_R
 
|KEY_DRC_R
 
|0x0010
 
|0x0010
|Y button
+
|R button
  
 
|-
 
|-
 
|KEY_DRC_PLUS
 
|KEY_DRC_PLUS
 
|0x0008
 
|0x0008
|Y button
+
|Plus button
 
|-
 
|-
 
|KEY_DRC_MINUS
 
|KEY_DRC_MINUS
 
|0x0004
 
|0x0004
|Y button
+
|Minus button
 
|-
 
|-
 
|KEY_DRC_SYNC
 
|KEY_DRC_SYNC
 
|0x0001
 
|0x0001
|Y button
+
|Sync button
 
|-
 
|-
 
|KEY_DRC_HOME
 
|KEY_DRC_HOME
 
|0x0002
 
|0x0002
|Y button
+
|Home button
 
|}
 
|}

Revision as of 11:59, 9 April 2015

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?

Defines

Keys

Name Value Description
KEY_DRC_LEFT 0x0800 Left d-pad button
KEY_DRC_RIGHT 0x0400 Right d-pad button
KEY_DRC_UP 0x0200 Upper d-pad button
KEY_DRC_DOWN 0x0100 Bottom d-pad button
KEY_DRC_A 0x8000 A button
KEY_DRC_B 0x4000 B button
KEY_DRC_X 0x2000 X button
KEY_DRC_Y 0x1000 Y button
KEY_DRC_ZL 0x0080 ZL button
KEY_DRC_ZR 0x0040 ZR button
KEY_DRC_L 0x0020 L button
KEY_DRC_R 0x0010 R button
KEY_DRC_PLUS 0x0008 Plus button
KEY_DRC_MINUS 0x0004 Minus button
KEY_DRC_SYNC 0x0001 Sync button
KEY_DRC_HOME 0x0002 Home button