diff -r a1b920bc870d android-project/src/org/libsdl/app/SDLActivity.java --- a/android-project/src/org/libsdl/app/SDLActivity.java Tue Jun 16 22:16:35 2015 -0700 +++ b/android-project/src/org/libsdl/app/SDLActivity.java Wed Jun 17 08:33:40 2015 +0200 @@ -1496,7 +1496,13 @@ if (joystick == null) { joystick = new SDLJoystick(); InputDevice joystickDevice = InputDevice.getDevice(deviceIds[i]); - if( (joystickDevice.getSources() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { + + if ( + (joystickDevice.getSources() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0 + || + (joystickDevice.getSources() & InputDevice.SOURCE_CLASS_BUTTON) != 0 + ) + { joystick.device_id = deviceIds[i]; joystick.name = joystickDevice.getName(); joystick.axes = new ArrayList();