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
(Specify that the Gamepad is known as VPAD and clarify VPADRead() description)
(Added keys from https://github.com/Relys/libwiiu/blob/master/libwiiu/src/vpad.h)
Line 103: Line 103:
 
|8
 
|8
 
|Padding?
 
|Padding?
 +
|}
 +
 +
== Defines ==
 +
=== Keys  ===
 +
{| class="wikitable"
 +
!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
 +
|Y button
 +
|-
 +
|KEY_DRC_ZR
 +
|0x0040
 +
|Y button
 +
|-
 +
|KEY_DRC_L
 +
|0x0020
 +
|Y button
 +
|-
 +
|KEY_DRC_R
 +
|0x0010
 +
|Y button
 +
 +
|-
 +
|KEY_DRC_PLUS
 +
|0x0008
 +
|Y button
 +
|-
 +
|KEY_DRC_MINUS
 +
|0x0004
 +
|Y button
 +
|-
 +
|KEY_DRC_SYNC
 +
|0x0001
 +
|Y button
 +
|-
 +
|KEY_DRC_HOME
 +
|0x0002
 +
|Y button
 +
|}

Revision as of 09:18, 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 Y button
KEY_DRC_ZR 0x0040 Y button
KEY_DRC_L 0x0020 Y button
KEY_DRC_R 0x0010 Y button
KEY_DRC_PLUS 0x0008 Y button
KEY_DRC_MINUS 0x0004 Y button
KEY_DRC_SYNC 0x0001 Y button
KEY_DRC_HOME 0x0002 Y button