diff --git a/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp b/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp index a53b6301e3..f4a3128db1 100644 --- a/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp +++ b/stepmania/src/arch/InputHandler/InputHandler_DirectInput.cpp @@ -126,6 +126,10 @@ void InputHandler_DInput::WindowReset() continue; Devices[i].Close(); + + /* We lose buffered inputs here, so we need to clear all pressed keys. */ + INPUTFILTER->ResetDevice( Devices[i].dev ); + bool ret = Devices[i].Open(); /* Reopening it should succeed. */