"Button commands" are the ones with +foo/-foo pairs. KeyClearStates() does not behave correctly when one of these is held: it fails to generate the minus command. This means the engine keeps spamming the input into the usercmd_t afterward. I encountered this while porting Smokin' Guns: the UI sends trap_Key_ClearStates() at inopportune times, causing movement keys to get "stuck".
I haven't seen this issue in Unvanquished with movement keys, but sometimes the scoreboard gets stuck open. This is probably the cause.
"Button commands" are the ones with
+foo/-foopairs.KeyClearStates()does not behave correctly when one of these is held: it fails to generate the minus command. This means the engine keeps spamming the input into theusercmd_tafterward. I encountered this while porting Smokin' Guns: the UI sendstrap_Key_ClearStates()at inopportune times, causing movement keys to get "stuck".I haven't seen this issue in Unvanquished with movement keys, but sometimes the scoreboard gets stuck open. This is probably the cause.