2019-11-06 22:20:58 +00:00
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
2020-03-03 09:58:12 +00:00
|
|
|
enum ControllerButton : uint8_t
|
2019-11-06 22:20:58 +00:00
|
|
|
{
|
2020-03-03 09:58:12 +00:00
|
|
|
NOT_SET = 0,
|
2019-11-06 22:20:58 +00:00
|
|
|
FACE_UP,
|
|
|
|
FACE_RIGHT,
|
|
|
|
FACE_DOWN,
|
|
|
|
FACE_LEFT,
|
|
|
|
LSTICK_CLICK,
|
|
|
|
RSTICK_CLICK,
|
|
|
|
LEFT_BUMPER,
|
|
|
|
RIGHT_BUMPER,
|
|
|
|
LEFT_TRIGGER,
|
|
|
|
RIGHT_TRIGGER,
|
|
|
|
BACK,
|
|
|
|
START,
|
|
|
|
DPAD_UP,
|
|
|
|
DPAD_RIGHT,
|
|
|
|
DPAD_DOWN,
|
|
|
|
DPAD_LEFT,
|
|
|
|
SYNC,
|
|
|
|
GUIDE,
|
2019-11-15 11:03:06 +00:00
|
|
|
TOUCHPAD,
|
2020-03-03 09:58:12 +00:00
|
|
|
NUM_CONTROLLERBUTTONS = TOUCHPAD,
|
2019-11-07 17:46:47 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct NormalizedStick
|
|
|
|
{
|
|
|
|
float axis_x;
|
|
|
|
float axis_y;
|
2019-11-06 22:20:58 +00:00
|
|
|
};
|
|
|
|
|
2019-11-13 20:49:15 +00:00
|
|
|
union RGBAColor {
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
uint8_t r;
|
|
|
|
uint8_t g;
|
|
|
|
uint8_t b;
|
|
|
|
uint8_t a;
|
|
|
|
};
|
|
|
|
uint8_t values[4];
|
|
|
|
uint32_t rgbaValue;
|
|
|
|
};
|
|
|
|
|
2019-11-06 22:20:58 +00:00
|
|
|
struct ControllerConfig
|
|
|
|
{
|
2019-11-13 20:49:15 +00:00
|
|
|
uint8_t leftStickDeadzonePercent{10};
|
|
|
|
uint8_t rightStickDeadzonePercent{10};
|
2020-03-03 09:58:12 +00:00
|
|
|
uint16_t leftStickRotationDegrees{};
|
|
|
|
uint16_t rightStickRotationDegrees{};
|
|
|
|
uint8_t triggerDeadzonePercent{};
|
|
|
|
ControllerButton buttons[NUM_CONTROLLERBUTTONS]{};
|
|
|
|
float triggers[2]{};
|
|
|
|
NormalizedStick sticks[2]{};
|
2019-11-13 20:49:15 +00:00
|
|
|
bool swapDPADandLSTICK{false};
|
|
|
|
RGBAColor bodyColor{107, 107, 107, 255};
|
|
|
|
RGBAColor buttonsColor{0, 0, 0, 255};
|
|
|
|
RGBAColor leftGripColor{70, 70, 70, 255};
|
|
|
|
RGBAColor rightGripColor{70, 70, 70, 255};
|
2019-11-06 22:20:58 +00:00
|
|
|
};
|