Modificado checkAnyButtonPressed para que devuelva el índice del dispositivo que ha pulsado un botón

This commit is contained in:
2024-07-05 14:34:55 +02:00
parent c3c33135a7
commit a734c01dc5
2 changed files with 6 additions and 6 deletions

View File

@@ -202,8 +202,8 @@ bool Input::checkAnyInput(int device, int index)
return false; return false;
} }
// Comprueba si hay algún botón pulsado // Comprueba si hay algún botón pulsado. Devuelve 0 en caso de no encontrar nada o el indice del dispositivo + 1.
bool Input::checkAnyButtonPressed() int Input::checkAnyButtonPressed()
{ {
const Uint8 *keyStates = SDL_GetKeyboardState(nullptr); const Uint8 *keyStates = SDL_GetKeyboardState(nullptr);
@@ -211,19 +211,19 @@ bool Input::checkAnyButtonPressed()
{ {
if (keyStates[keyBindings[bi].scancode] != 0) if (keyStates[keyBindings[bi].scancode] != 0)
{ {
return true; return 1;
} }
for (int i = 0; i < numGamepads; ++i) for (int i = 0; i < numGamepads; ++i)
{ {
if (SDL_GameControllerGetButton(connectedControllers[i], gameControllerBindings[bi].button) != 0) if (SDL_GameControllerGetButton(connectedControllers[i], gameControllerBindings[bi].button) != 0)
{ {
return true; return i + 1;
} }
} }
} }
return false; return 0;
} }
// Busca si hay un mando conectado // Busca si hay un mando conectado

View File

@@ -98,7 +98,7 @@ public:
bool checkAnyInput(int device = INPUT_USE_ANY, int index = 0); bool checkAnyInput(int device = INPUT_USE_ANY, int index = 0);
// Comprueba si hay algún botón pulsado // Comprueba si hay algún botón pulsado
bool checkAnyButtonPressed(); int checkAnyButtonPressed();
// Busca si hay un mando conectado // Busca si hay un mando conectado
bool discoverGameController(); bool discoverGameController();