MrStahlfelge/gdx-controllerutils

Switch to sdl2gdx instead Jamepad

Closed this issue · 1 comments

Since Jamepad as a direct wrapper of SDL is not maintained any more and is now just a wrapper for sdl2gdx, there's the need to switch over to use sdl2gdx internally in the future.

Why not just use sdl2gdx alone? Because it does not implement AdvancedController interface, but is designed for desktop use only. Thus all extended features won't work on cross-platform projects.

Problem: sdl2gdx is not just a wrapper for SDL, but also comes with the hacks we used here to replace libgdx own controller implementations. That means, just pulling in sdl2gdx will not work because of dublicate classes. Ways to solve this:

  • jar jar links, which can be also used to strip the unneeded stuff
  • own fork of the project (best was id GitHub Actions could be used to build the natives) without the unneeded stuff
  • own fork of the project, changed to implement AdvancedController interface

Switched to own fork of Jamepad. sdl2gdx was not used because of its LGPL license.