LINKS AND DOWNLOADS
In my experience, Game Maker can be kind of funky with controller input. Sometimes when I start using joystick_xpos(id) and then later unplug the gamepad, my game slows down a ton and stays that way until I plug the pad back in. I’ve also been too lazy to come up with a button customization screen so I bet the joystick buttons would be in weird places for a lot of people anyway. One simple if messy solution is to use JoyToKey which converts joystick input into keyboard input. If you’ve ever used an emulator like ZSNES you’ll be familiar with the layout here. The nice thing about JtK is that you can set up a default button layout (called FirstConfiguration.cfg but you can change that) that will load when you start the program, then just drop it all into your game executable’s folder and have Game Maker open JtK at runtime with execute_program(prog,arg,wait).
Tip: Think about the maximum amount of controllers you want to use for your game and set that up first in the rightmost tab of JtK. Also specify everything else on that screen, like if you want to account for POV hats and all that. Making changes here usually clears any settings you’ve made to the Joystick tabs.