Opened 3 years ago
#17317 new bug
Joysticks/Gamepad preferences
Reported by: | pulkomandy | Owned by: | PreetpalKaur |
---|---|---|---|
Priority: | low | Milestone: | Unscheduled |
Component: | Preferences/Input | Version: | R1/beta3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
We have deprecated the old and incomplete preferences/joysticks, but have not come up with a replacement yet.
Input preferences should eventually list joysticks. There may not be a lot to configure in the modern days of USB joysticks, but it would be nice to be able to check that the joystick/gamepad is properly recognized, and maybe a way to reassign the buttons.
For older gameport based devices (if we plan to support these), calibration is needed, as well as detection of various custom protocols enabling the use of more buttons (Gravis, Microsoft Sidewinder, Saitek, ...). Not sure if that is still of any use in the modern world.
There is a database of gamepads for SDL: https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt that allows to get a consistent button mapping. Ideally, the preferences would also have a graphical representation of the controller to see where the buttons are.
The SDL file identifies the gamepads by a GUID made of:
- The bus identifer (3 for USB, I think 5 for bluetooth)
- The vendor and product id, and the product version
This allows to identify most devices uniquely.
The preferences should allow to see which buttons on which controller are pressed, and check that direction pads/sticks work fine too.