Reproduction Steps
(a simple place just printing the output of InputBegan, Changed and Ended)
Gamepad Test.rbxl (28.4 KB)
Issue is consistent on xBox, in studio and on desktop machines running with a gamepad.
(As the primary reason for controller input is xBox I figured this would be the most appropriate category, but if not please let me know).
Expected Behavior
Consistency in when events are fired.
Either both opening and closing the menu should result in a call to InputBegan etc. or neither should. (previously it was neither, now it is open doesn’t call, close calls)
Actual Behavior
https://gyazo.com/13632277e3bc2d5c4341c1c0b66aa5f4
Observe how when the classic menu is opened then exited, pressing B to exit is not sent to the function connected to InputBegan. The new menu however does.
The old menu didn’t pass the exit key press onto these functions creating a backwards compatibility issue (in my game for example B with nothing selected opens a game menu).
While gameProcessedEvent is correct, lazy methods of unbinding from default Roblox character control input (i.e. setting walkspeed to 0 to stop movement, temporally setting camera to scriptable/jump power to 0 etc.) may be used to ignore these signals (as I didn’t want to go about having to create my own character controller script just to add console support).
Workaround
Modifying my lazy method to not ignore gameProcessedEvent for the button B.
Issue Area: Xbox
Issue Type: Other
Impact: Moderate
Frequency: Constantly
Date First Experienced: 2021-08-20 18:08:00 (+01:00)
Date Last Experienced: 2021-08-22 20:08:00 (+01:00)