So in the game there are a few place where the currently set key's name is available to insert into text via a breakout sequence such as "^ActionReadyMagic" which will return the string for the currently assigned ready magic key. However, while researching the implementation of the Gamepad GUI mode, I looked at the char gen scripts where several of these breakout sequences are used to see how it referred to Joysticks or gamepad buttons, assuming that it had a similar breakout sequence. Nope.
Here's the code for the Script: "CharGen_ring_keley":
When the game is supposed to check if it's running on an XBOX (and so should be using a gamepad), the boolean "Xbox" is set to 1, else it's set to 0.
As you can see in that script, if Xbox==1, it would deliver a line that specifically names Xbox controller buttons by name instead of using a breakout variable that we can change. This precludes us from easily inserting the name of a gamepad/joystick element, for example if the player wanted to use a Dualshock controller, or was using a controller that didn't correctly map a button to either the "Y" or "B" gamepad button events.
This needs feedback before I can continue researching the subject.