mirror of
https://github.com/wiiu-env/wudd.git
synced 2024-11-14 06:05:08 +01:00
61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <cstring>
|
|
|
|
class Input {
|
|
public:
|
|
//!Constructor
|
|
Input() = default;
|
|
|
|
//!Destructor
|
|
virtual ~Input() = default;
|
|
|
|
enum eButtons {
|
|
BUTTON_NONE = 0x0000,
|
|
VPAD_TOUCH = 0x80000000,
|
|
BUTTON_Z = 0x20000,
|
|
BUTTON_C = 0x10000,
|
|
BUTTON_A = 0x8000,
|
|
BUTTON_B = 0x4000,
|
|
BUTTON_X = 0x2000,
|
|
BUTTON_Y = 0x1000,
|
|
BUTTON_1 = BUTTON_Y,
|
|
BUTTON_2 = BUTTON_X,
|
|
BUTTON_LEFT = 0x0800,
|
|
BUTTON_RIGHT = 0x0400,
|
|
BUTTON_UP = 0x0200,
|
|
BUTTON_DOWN = 0x0100,
|
|
BUTTON_ZL = 0x0080,
|
|
BUTTON_ZR = 0x0040,
|
|
BUTTON_L = 0x0020,
|
|
BUTTON_R = 0x0010,
|
|
BUTTON_PLUS = 0x0008,
|
|
BUTTON_MINUS = 0x0004,
|
|
BUTTON_HOME = 0x0002,
|
|
BUTTON_SYNC = 0x0001,
|
|
STICK_R_LEFT = 0x04000000,
|
|
STICK_R_RIGHT = 0x02000000,
|
|
STICK_R_UP = 0x01000000,
|
|
STICK_R_DOWN = 0x00800000,
|
|
STICK_L_LEFT = 0x40000000,
|
|
STICK_L_RIGHT = 0x20000000,
|
|
STICK_L_UP = 0x10000000,
|
|
STICK_L_DOWN = 0x08000000
|
|
};
|
|
|
|
typedef struct {
|
|
uint32_t buttons_h;
|
|
uint32_t buttons_d;
|
|
uint32_t buttons_r;
|
|
bool validPointer;
|
|
bool touched;
|
|
float pointerAngle;
|
|
int32_t x;
|
|
int32_t y;
|
|
} PadData;
|
|
|
|
PadData data{};
|
|
PadData lastData{};
|
|
};
|