protonscr

[Regression] Incorrect handling of gamepad disconnection in latest Proton Experimental

protonopen
ValveSoftware/Proton#7924 · opened 2024-07-23 by mpharoah · updated 2025-12-22 · 1 comments · github
1 matching comments, n / p to jump
Mmpharoah 2024-07-23 github

In Proton 9.0-2 and other recent stable releases, gamepad disconnections and reconnections are handled correctly-- that is that the disconnection is detected, and when the gamepad is plugged back in, it correctly detects the connection and can begin handling events again.

In the current Proton Experimental, however, when a gamepad is disconnected, it will either continue to read the latest state of the gamepad before it was disconnected, or it will read analog full left only. This will persist permanently until the application is closed, and plugging the controller back in has no effect.

Steps to reproduce

  • Load up a game (I used Hades II) and go to a state of the game where you can easily see the effects of controller inputs (ie, normal gameplay)
  • Hold a direction on an analog stick, then unplug your controller
    • In Proton 9.0-2, the game will receive and handle the disconnect event (in the case of Hades II, this results in the game pausing itself).
    • In Proton Experimental, the game will behave as if the controller was still plugged in, and you were still holding the analog stick in either the direction you were holding it when you unplugged it or straight left.
  • Plug the controller back in
    • In Proton 9.0-2, the controller will be connected and function normally
    • In Proton Experimental, the game will not respond to physical gamepad inputs, and will instead continue to behave as it did when the controller was disconnected
Ddaniele-athome 2025-12-22 github

Might be duplicate of #7952

Proton versions