How do I get an unrecognized joystick added to Godot's mapping database?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Gemini

I’m still doing preliminary work with my project and needed to figure out some joystick details, but in the process discovered that Godot keeps an internal mapping database of recognized joysticks to do its thing, and mine isn’t in there, thus I can’t use my joystick to its fullest extent, which is going to be necessary given that I’m working on something that’s akin to a flight sim.

I have a somewhat old (PS3 era) Thrustmaster T.Flight HOTAS X joystick, identified by Windows 10 simply as “T.Flight Hotas X”. For the most part, the joystick works fine in Godot, except it has a fifth analog axis: a rocker on the throttle stick, which isn’t recognized and produces no input in Godot. I can absolutely confirm it’s working in other programs as I use it when playing Overload to handle forward/reverse movement.

So… what should I do to go about getting this mapped properly in future versions of Godot for myself and other people with this same joystick?

:bust_in_silhouette: Reply From: Calinou

Godot’s own game controller database is sourced from this GitHub repository. You should send a pull request there — once it is merged, it can be ported to the Godot repository.

:bust_in_silhouette: Reply From: meigel

You might want to have a look at Hinsbart’s joystick mapper.