public void testJoystick() { try { // SDLMain.SDL_INIT_VIDEO | SDLMain.init(SDLMain.SDL_INIT_JOYSTICK | SDLMain.SDL_INIT_EVENTTHREAD); SDLEvent.joystickEventState(SDLEventState.ENABLE); int count = SDLJoystick.numJoysticks(); System.out.println("numJoysticks=" + count); if (count < 1) { System.out.println("No joystick devices available"); return; } System.out.println("opening first joystick device"); SDLJoystick joystick = SDLJoystick.joystickOpen(0); System.out.println("joystick opened"); System.out.println("press ESC to exit"); while (true) { SDLEvent event = SDLEvent.pollEvent(); if (event instanceof SDLKeyboardEvent) { SDLKeyboardEvent keyboardEvent = (SDLKeyboardEvent) event; if (keyboardEvent.getSym() == SDLKey.SDLK_ESCAPE) break; } else if (event instanceof SDLJoyAxisEvent) { System.out.println(event); } else if (event instanceof SDLJoyBallEvent) { System.out.println(event); } else if (event instanceof SDLJoyButtonEvent) { System.out.println(event); } else if (event instanceof SDLJoyHatEvent) { System.out.println(event); } } } catch (Exception e) { e.printStackTrace(); } // catch finally { SDLMain.quit(); } // finally }