diff --git a/app/streaming/input/gamepad.cpp b/app/streaming/input/gamepad.cpp index 7968e3fc..5ca7bd78 100644 --- a/app/streaming/input/gamepad.cpp +++ b/app/streaming/input/gamepad.cpp @@ -269,7 +269,22 @@ void SdlInputHandler::handleControllerButtonEvent(SDL_ControllerButtonEvent* eve event.quit.timestamp = SDL_GetTicks(); SDL_PushEvent(&event); - // Clear buttons down on this gameapd + // Clear buttons down on this gamepad + LiSendMultiControllerEvent(state->index, m_GamepadMask, + 0, 0, 0, 0, 0, 0, 0); + return; + } + + // Handle Select+L1+R1+X as a gamepad overlay combo + if (state->buttons == (BACK_FLAG | LB_FLAG | RB_FLAG | X_FLAG)) { + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, + "Detected stats toggle gamepad combo"); + + // Toggle the stats overlay + Session::get()->getOverlayManager().setOverlayState(Overlay::OverlayDebug, + !Session::get()->getOverlayManager().isOverlayEnabled(Overlay::OverlayDebug)); + + // Clear buttons down on this gamepad LiSendMultiControllerEvent(state->index, m_GamepadMask, 0, 0, 0, 0, 0, 0, 0); return;