The original SDL Joystick extension has been updated to version 1.65.
Download: Please login to see this link.
Help wiki: Please login to see this link.
-The object is now compatible with sub-applications.
-Updated SDL2 to 2.28.1. I'll consider the switch to SDL3 once there's an official release.
-Updated the "Load GameController database" action to reset the SDL library before loading new mappings to make sure they are actually used. I'll try to figure out a better solution eventually.
The ps4 controller touchpad pressed state is not recognized, cant tell if problem is in sdl itself or the extension but thought I'd let you know. It worked in previous versions.
Sorry for the late response!
Not sure about this one, but try the latest release which comes with the latest stable version of SDL2. Maybe it was fixed. As far as I know, there's a 'touchpad button' that works as a regular button so it should be supported. There's also a lot of other touchpad-related functionality in SDL but currently I have no plans to implement that.
Also for ps4 controller, hat0 (dpad) is not recognized, the dpad button IDs work, but hat0 does not.
That seems like a controller mapping issue. Might also be specific to SDL itself since the D-Pads on my controllers work fine. Unfortunately I don't own any Playstation controllers to tackle this directly.
EDIT: I got my hands on a PS5 controller and I can tell that it doesn't expose the D-Pad as a Hat in Joystick mode, so the behavior you're describing is correct. You need to use D-Pad button IDs instead.
Is loading a game controller database file needed on every frame, or is it enough to do once and it will keep in memory over frames?
You only need to do that once, ideally at the start of your application.
Also is loading a game controller database file needed to recognize most common controller types or will they be recognized by sdl framework anyway?
As far as I know, SDL comes with a mapping database by default, so you only need this for custom mappings or rare controllers.
This is great, but one of the (quite many) reasons I jumped ship to Gоdot (which is 100% free!) was the lack of controller support - why hasn't this been a priority for Clickteam to resolve with a supported built-in solution? Isn't "stable support for a modern controller for video games" deemed important for a game engine?
Since the extension is open source and there are no license terms other than SDL's, Clickteam could make an integrated solution, though they might need to rework the code. As for Phi's version going paid and closed source, well, I kinda saw it coming. Anyway, the original version will remain free and open source. While I cannot promise a lot of features and support, the development should pick up a little because I am now using this extension in a game.