1.9.2 - gamepad names have changed, causing mappings to fail
Gamepad input mappings rely on the reported name of the gamepad. It seems that as of 1.9.2, gamepad names have changed. My gamepad on Windows used to be called "XBox 360 Controller" but is now called "Wireless Xbox Controller" and therefore fails to map. User Wolfe reports 8BitDo SN30 pro+ on Linux has changed mapping. Furthermore, I also have player reports that "Super Gamepad" and "Xbox Elite Controller 2" are not working as of an update I pushed with version 1.9.2. Notably, one user reports that "PS Dualsense" still works. I have no insight into why that is (perhaps it's a newer controller, or Steam Input interferes, or it's random chance).
This issue is perhaps related to the recent GLFW update? This update was implemented in 1.9.2: https://github.com/defold/defold/pull/9228
The problem with the gamepad names changing is that this invalidates an unknown amount of the gamepad mappings in the builtins.
User Wolfe reports 8BitDo SN30 pro+ on Linux has changed mapping.
The specific mapping I was told was unsupported was:
"8Bitdo SF30 Pro 8BitDo SN30 Pro+"
This issue is perhaps related to the recent GLFW update?
Yes, it is likely.
User Wolfe reports 8BitDo SN30 pro+ on Linux has changed mapping.
Although this is odd. We have not updated glfw for Linux yet as far as I know.
The problem with the gamepad names changing is that this invalidates an unknown amount of the gamepad mappings in the builtins.
Yes, this is not good. We need to look into this.
Although this is odd. We have not updated glfw for Linux yet as far as I know.
~~Since 8bitskull opened this issue, I tried removing the modified gamepads file, and there is no error anymore. No idea. 🤷~~
Spoke too soon.
WARNING:INPUT: No gamepad map found for gamepad 0 (8Bitdo SF30 Pro 8BitDo SN30 Pro+). The raw gamepad map will be used.
For us gamepad input also broke in 1.9.2. Rpad down etc is not firing on_input events. Let me know if there is something I can do to help debug.
I was really curious where that name for the Xbox controller came from - it seems in GLFW 3 they started calling all generic xbox compatible wireless controllers that - https://github.com/glfw/glfw/blob/master/src/win32_joystick.c#L168