1
0
mirror of https://github.com/cathery/sys-con.git synced 2024-09-02 21:09:05 +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>
2019-11-22 00:47:16 +00:00
enum ControllerButton : int8_t
2019-11-06 22:20:58 +00:00
{
NOT_SET = -1,
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,
2019-11-07 17:46:47 +00:00
NUM_CONTROLLERBUTTONS,
};
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{0};
uint16_t rightStickRotationDegrees{0};
uint8_t triggerDeadzonePercent{0};
2019-11-07 17:46:47 +00:00
ControllerButton buttons[NUM_CONTROLLERBUTTONS];
2019-11-13 20:49:15 +00:00
float triggers[2]{0};
NormalizedStick sticks[2]{0};
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
};