Skip to main content

Indie game storeFree gamesFun gamesHorror games
AssetsComics
Bundles
Jobs
TagsGame Engines

Hey, I'm sorry for the very late and once again giant reply.

Okay so, since you are using standard controllers and not some off brand ones, I don't think this is completely my fault in this case since why wouldn't GameMaker support these controllers out of the box?

It's not like I'm using anything special in the code when checking for controller inputs, it's just their own built in functions.

The manual even says this:

"While GameMaker comes with mappings for a number of different gamepads based on SDL Gamepad Controller DB "

Which is the exact same thing you linked.

So I don't understand why it wouldn't just work out of the box in this case since GameMaker is supposedly already using these SDL mappings.

The only thing I can think of is that my GameMaker version is so out of date that this hasn't been added yet but that seems unlikely since my version has the gamepad_test/get/remove_mapping functions.

And after looking around a bit more here, I'm not sure rewriting the controller input system will do much (since it will end up pretty much the same as it is now), UNLESS I go the manual route and *manually* keep a database of all controllers, check and set the mappings accordingly, which seems like a huge pain to do, AND that's assuming that will even work.

But with all that said, I'm not saying I won't do it in the future, I just don't want to spend time/energy on controller stuff right now.

And to answer your question about what controllers should be supported by the game:

Any/all controllers should be supported, I'm not sure I've ever gotten feedback where controllers are not working at all on Windows, it's only on Linux there are issues.

The only thing that currently doesn't add up on Windows are the button names, the buttons all have different ID's depending on controller so it's basically impossible to know the name of what button was pressed, once again, UNLESS you go the manual route mentioned above.

Anyway, after reading through all of this again, I don't think you told me what the actual issue was, so what didn't work for your controllers? Like were they not detected at all or just no inputs?

Also, since this reply is already gigantic, I'll just leave a snippet of my controller code here to show what I'm actually doing:

And there you have it, that's how I poll for button presses, not sure what else I could do here.