working on game controller input
This commit is contained in:
@@ -23,24 +23,36 @@
|
||||
#define REPEAT_TRUE true
|
||||
#define REPEAT_FALSE false
|
||||
|
||||
#define USE_KEYBOARD 0
|
||||
#define USE_GAMECONTROLLER 1
|
||||
|
||||
// Clase Input
|
||||
class Input
|
||||
{
|
||||
private:
|
||||
struct input_t
|
||||
struct keyBindings_t
|
||||
{
|
||||
Uint8 scancode; // Scancode asociado
|
||||
bool active; // Indica si está activo
|
||||
};
|
||||
input_t mInput[15]; // Vector con las teclas asociadas a los inputs predefinidos
|
||||
keyBindings_t mKeyBindings[15]; // Vector con las teclas asociadas a los inputs predefinidos
|
||||
|
||||
//SDL_Joystick *mGameController; // Manejador para el mando 1
|
||||
//SDL_Haptic *mControllerHaptic; // Manejador para el mando con vibración
|
||||
//bool mGameControllerFound; // Variable para saber si hay un mando conectado
|
||||
struct GameControllerBindings_t
|
||||
{
|
||||
SDL_GameControllerButton button; // GameControllerButton asociado
|
||||
bool active; // Indica si está activo
|
||||
};
|
||||
GameControllerBindings_t mGameControllerBindings[15]; // Vector con las teclas asociadas a los inputs predefinidos
|
||||
|
||||
SDL_GameController *mGameController; // Manejador para el mando
|
||||
SDL_Haptic *mControllerHaptic; // Manejador para el mando con vibración
|
||||
bool mGameControllerFound; // Variable para saber si hay un mando conectado
|
||||
|
||||
int mSource; // Indica si el objeto usará un mando o un teclado
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Input();
|
||||
Input(int source);
|
||||
|
||||
// Destructor
|
||||
~Input();
|
||||
@@ -48,11 +60,14 @@ public:
|
||||
// Asigna uno de los posibles inputs a una tecla del teclado
|
||||
void bindKey(Uint8 input, SDL_Scancode code);
|
||||
|
||||
// Asigna uno de los posibles inputs a un botón del mando
|
||||
void bindGameController(Uint8 input, SDL_GameControllerButton button);
|
||||
|
||||
// Comprueba si un input esta activo
|
||||
bool checkInput(Uint8 input, bool repeat);
|
||||
|
||||
// Gestiona las entradas desde el mando de juego
|
||||
bool checkGameController(Uint8 state);
|
||||
// Comprueba si hay un mando conectado
|
||||
bool discoverGameController();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user