A while back I was working on a project where I wanted to control my GoPiGo3 robot using a joystick instead of a mouse and keyboard.
I ended up doing a LOT of research into my Saitek X52 controller along with its axis and button assignments so I could use it in my programs.
One of the consequences of this research was a detailed axis and button map for this controller detailing all the interesting quirks.
It has been incredibly useful to me so I thought it would be useful to you folks too.
Note that this is based on the W3C’s “Gamepad API” as used by web browsers and anything else that uses the “standard” gamepad mappings.
Ref: https://hardwaretester.com/gamepad
Also note that the gamepad API’s mappings start with zero. I believe MSFS’s controller mappings start at one - so you have to add one to the button/axis numbers here to get them to match MSFS.
Caveat:
I do not know if, or to what extent, this matches the X52-Pro joystick since I don’t have one.
Here it is: