1
0
mirror of https://github.com/cathery/sys-con.git synced 2024-07-08 03:58:43 +00:00
sys-con/source/ControllerLib/ControllerConfig.h

61 lines
1.2 KiB
C
Raw Normal View History

2019-11-06 22:20:58 +00:00
#pragma once
#include <cstdint>
enum ControllerButton : uint8_t
2019-11-06 22:20:58 +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,
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};
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
};