From dfcc1ff89933d663842a92a62185d3191741b534 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 17 Nov 2018 17:23:20 -0800 Subject: [PATCH] Also print gamepad mapping on gamepad attach --- app/streaming/input.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/streaming/input.cpp b/app/streaming/input.cpp index 8eca7e54..d8ca69dd 100644 --- a/app/streaming/input.cpp +++ b/app/streaming/input.cpp @@ -634,6 +634,8 @@ void SdlInputHandler::handleControllerDeviceEvent(SDL_ControllerDeviceEvent* eve int i; const char* name; SDL_GameController* controller; + const char* mapping; + char guidStr[33]; controller = SDL_GameControllerOpen(event->which); if (controller == NULL) { @@ -681,16 +683,20 @@ void SdlInputHandler::handleControllerDeviceEvent(SDL_ControllerDeviceEvent* eve state->controller = controller; state->jsId = SDL_JoystickInstanceID(SDL_GameControllerGetJoystick(state->controller)); - char guidStr[33]; SDL_JoystickGetGUIDString(SDL_JoystickGetGUID(SDL_GameControllerGetJoystick(state->controller)), guidStr, sizeof(guidStr)); + mapping = SDL_GameControllerMapping(state->controller); name = SDL_GameControllerName(state->controller); SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, - "Gamepad %d (player %d) is: %s (%s)", + "Gamepad %d (player %d) is: %s (%s -> %s)", i, state->index, - name != NULL ? name : "", - guidStr); + name != nullptr ? name : "", + guidStr, + mapping != nullptr ? mapping : ""); + if (mapping != nullptr) { + SDL_free((void*)mapping); + } // Add this gamepad to the gamepad mask if (m_MultiController) {