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;
}
// 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

View File

@@ -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();