diff --git a/source/common/input.cpp b/source/common/input.cpp index 9602cf4..6561fb5 100644 --- a/source/common/input.cpp +++ b/source/common/input.cpp @@ -202,8 +202,8 @@ bool Input::checkAnyInput(int device, int index) return false; } -// Comprueba si hay algún botón pulsado -bool Input::checkAnyButtonPressed() +// Comprueba si hay algún botón pulsado. Devuelve 0 en caso de no encontrar nada o el indice del dispositivo + 1. +int Input::checkAnyButtonPressed() { const Uint8 *keyStates = SDL_GetKeyboardState(nullptr); @@ -211,19 +211,19 @@ bool Input::checkAnyButtonPressed() { if (keyStates[keyBindings[bi].scancode] != 0) { - return true; + return 1; } for (int i = 0; i < numGamepads; ++i) { if (SDL_GameControllerGetButton(connectedControllers[i], gameControllerBindings[bi].button) != 0) { - return true; + return i + 1; } } } - return false; + return 0; } // Busca si hay un mando conectado diff --git a/source/common/input.h b/source/common/input.h index 1ececdf..1250b80 100644 --- a/source/common/input.h +++ b/source/common/input.h @@ -98,7 +98,7 @@ public: bool checkAnyInput(int device = INPUT_USE_ANY, int index = 0); // Comprueba si hay algún botón pulsado - bool checkAnyButtonPressed(); + int checkAnyButtonPressed(); // Busca si hay un mando conectado bool discoverGameController();