Skip to content

Jamepad controller implementation

Benjamin Schulte edited this page Jun 2, 2019 · 12 revisions

Thanks to born2snipe for his work on this.

Just change the following lines in your build.gradle's desktop project to switch from libGDX controller implementation to Jamepad:

    compile "com.badlogicgames.gdx:gdx-controllers-desktop:$gdxVersion"
    compile "com.badlogicgames.gdx:gdx-controllers-platform:$gdxVersion:natives-desktop"

to:

    compile "de.golfgl.gdxcontrollerutils:gdx-controllers-jamepad:$cuversion"

This just affects the Desktop project. The implementation is compatible to the libGDX implementations, no code changes in your project needed.

Note: desktop-jamepad is implemented in controllerutils in v0.1.2 and above.

Ups:

  • Hotplugging!
  • A big controller mapping database which ensures your users probably won't need to remap their buttons
  • Rumble/vibration supported (you need to add gdx-controllers-advanced to your core project to use it) since 0.2.0

Downs:

  • If a connected controller is not in the mapping database, it is not shown.
  • D-Pad/POV values will be reported as buttons down/up. (Of course, it is just some piece of work to be done to map the D-Pad buttons to POV values)

Work still to be done: