Godot version:
Godot 3.2.1
OS/device including version:
Windows 10 Pro
Issue description:
Amkette Evo Gamepad Pro 2 controller for android is reporting wrong values for joypad axis, I have an Xbox one controller which works just fine.
Steps to reproduce:
Connect Amkette Evo Gamepad Pro 2 controller to android and try adding axis input in Input Map and check the values for left and right analog joystick
Minimal reproduction project:
Related to #8368?
@Calinou That issue seems like an additional feature addon. Also on further inspecting half of the well known Xbox one controller buttons are not working. Not sure if I should create another issue for Xbox one controller or just update this ticket with the mapping issue I faced with the controller
Godot uses the SDL2 game controller database for controller mappings. This device is not in the list, so it is not currently expected to work. In order for this device to work in Godot, please create a mapping with one of the tools listed (such as Steam), and submit a pull request.
This needs to be done separately for each platform, so if you can, please generate mappings for as many platforms as you have available to you (Windows, Mac, Linux, Android...)
@aaronfranke But even the well known Xbox one controller buttons are mapped wrongly? Am I missing something?
For example when I set a mapping for Xbox X button none of the buttons in my controller responds to that event. But when I set mapping for Xbox Y button the X button in my controller responds for that event.
@vickylance I don't know why your Xbox One controller is not working. Is it recognized by your OS? Does it work in other games and in Steam?
In any case, I've shown you how to create and submit mappings for controllers, please do so for your Amkette Evo Gamepad Pro 2 so at least that controller will work :)
@aaronfranke yes I used xbox accessories app to test the inputs and everything was working fine all the buttons were correct and also it works in all the games correctly.
I will look into how to submit mappings for Amkette Evo Gamepad Pro 2
@aaronfranke @Calinou I tested with my xbox one controller using SDL 2 gamepad tool and everything is working fine and I also see that my Xbox one controlller's guid 030000005e040000fd02000003090000 is already present in this file gamecontrollerdb.txt but still godot is mapping wrongly for my xbox one controller. Is by any chance Godot not using the latest mappings from that file?
Is by any chance Godot not using the latest mappings from that file?
Yes, Godot is stuck on SDL 2.0.4 mappings from https://github.com/gabomdq/SDL_GameControllerDB (which were removed from that repository recently). This will be fixed by https://github.com/godotengine/godot/pull/38151.
Yes, Godot is stuck on SDL 2.0.4 mappings
Not exactly. Godot doesn't support the new features of SDL 2.0.6 but we still benefit from the majority of bindings of gamecontrollerdb.txt which do not use those features. Those who do need the features don't work indeed.