Utilities for using controllers with libGDX, and enhanced drop-in replacements for the official gdx-controllers extension
All subprojects are technically independant, you can use only one of them in your project. They are bundled in a single Github project because all have something to do with Game Controller Input and libGDX.
Advanced core interfaces giving you more control over connected controllers: Rumble, query available buttons and axis, query standard button constants, and more.
Jamepad implementation for libGDX' controller interfaces. Bring hotplugging, vibration and controller-independant button codes to your game by just changing your gradle file!
iOS controller implementation (MFI and iCade) for libGDX' controller interfaces.
The official GWT implementation, but with enhancements, regular releases and bugfixes down to libGDX 1.9.5+.
The official Android implementation, but with enhancements, regular releases and bugfixes down to libGDX 1.9.11. Sorry! Due to a breaking change in the android backend, our Android controllers implementation here is only compatible with 1.9.11 and up. You can use version 1.0.1 if you are on an older libGDX Version.
Key and button supporting Stage with focusable Actors for Scene2d. This is also usable in games without Game Controller support.
Support configurable mappings for game controllers in your projects.
core-scene2d is shown with sources in raeleus' Shadow Walker UI demo.
All subprojects are used in my game Falling Lightblocks Web/Android/iOS/FireTV. Take a look at the sources.
This project is published to the Sonatype Maven repository. You can integrate the lib into your project by just adding the dependencies to your build.gradle file.
Define the version of this API right after the gdxVersion:
gdxVersion = '1.9.11' //or another gdx version you use
cuversion = '2.2.0' // or 1.0.1 if you are on gdx <= 1.9.10
Then add the needed dependencies to your project. You will find the artifact ids on the subproject's wiki sites.
To build from source, clone or download this repository, then open it in Android Studio. Perform the following command to compile and upload the library in your local repository:
gradlew clean uploadArchives -PLOCAL=true
See build.gradle file for current version to use in your dependencies.
You can get help on the libgdx discord.
The project is licensed under the Apache 2 License, meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. We love to get (non-mandatory) credit in case you release a game or app using this project!