cOMS/input/ControllerInput.h

83 lines
1.8 KiB
C

/**
* Jingga
*
* @copyright Jingga
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
#ifndef TOS_PLATFORM_WIN32_INPUT_CONTROLLER_CONTROLLER_INPUT_H
#define TOS_PLATFORM_WIN32_INPUT_CONTROLLER_CONTROLLER_INPUT_H
#include "../stdlib/Types.h"
enum ControllerButton {
CONTROLLER_BUTTON_NONE, // Needs to be skipped for input system (see -1)
CONTROLLER_BUTTON_STICK_LEFT_BUTTON,
CONTROLLER_BUTTON_STICK_LEFT_HORIZONTAL,
CONTROLLER_BUTTON_STICK_LEFT_VERTOCAL,
CONTROLLER_BUTTON_STICK_RIGHT_BUTTON,
CONTROLLER_BUTTON_STICK_RIGHT_HORIZONTAL,
CONTROLLER_BUTTON_STICK_RIGHT_VERTOCAL,
CONTROLLER_BUTTON_SHOULDER_LEFT_TRIGGER,
CONTROLLER_BUTTON_SHOULDER_LEFT_BUTTON,
CONTROLLER_BUTTON_SHOULDER_RIGHT_TRIGGER,
CONTROLLER_BUTTON_SHOULDER_RIGHT_BUTTON,
CONTROLLER_BUTTON_X,
CONTROLLER_BUTTON_C,
CONTROLLER_BUTTON_T,
CONTROLLER_BUTTON_S,
CONTROLLER_BUTTON_DPAD_LEFT,
CONTROLLER_BUTTON_DPAD_RIGHT,
CONTROLLER_BUTTON_DPAD_UP,
CONTROLLER_BUTTON_DPAD_DOWN,
CONTROLLER_BUTTON_OTHER_0,
CONTROLLER_BUTTON_OTHER_1,
CONTROLLER_BUTTON_OTHER_2,
CONTROLLER_BUTTON_OTHER_3,
CONTROLLER_BUTTON_OTHER_4,
CONTROLLER_BUTTON_OTHER_5,
CONTROLLER_BUTTON_OTHER_6,
CONTROLLER_BUTTON_OTHER_7,
};
struct ControllerInput {
uint8 stick_left_button;
int8 stick_left_x;
int8 stick_left_y;
uint8 stick_right_button;
int8 stick_right_x;
int8 stick_right_y;
int8 shoulder_trigger_left;
int8 shoulder_trigger_right;
uint8 shoulder_button_left;
uint8 shoulder_button_right;
uint8 button_X;
uint8 button_C;
uint8 button_T;
uint8 button_S;
uint8 dpad_left;
uint8 dpad_right;
uint8 dpad_up;
uint8 dpad_down;
int16 gyro_x;
int16 gyro_y;
int16 gyro_z;
uint8 button_other[8];
};
#endif