package jme3test.input; import com.jme3.app.SimpleApplication; import com.jme3.input.JoyInput; import com.jme3.input.Joystick; import com.jme3.input.controls.AnalogListener; import com.jme3.input.controls.JoyAxisTrigger; import com.jme3.system.AppSettings; public class TestJoystick extends SimpleApplication implements AnalogListener { public static void main(String[] args){ TestJoystick app = new TestJoystick(); AppSettings settings = new AppSettings(true); settings.setUseJoysticks(true); app.setSettings(settings); app.start(); } @Override public void simpleInitApp() { Joystick[] joysticks = inputManager.getJoysticks(); if (joysticks == null) throw new IllegalStateException("Cannot find any joysticks!"); for (Joystick joy : joysticks){ System.out.println(joy.toString()); } inputManager.addMapping("DPAD Left", new JoyAxisTrigger(0, JoyInput.AXIS_POV_X, true)); inputManager.addMapping("DPAD Right", new JoyAxisTrigger(0, JoyInput.AXIS_POV_X, false)); inputManager.addMapping("DPAD Down", new JoyAxisTrigger(0, JoyInput.AXIS_POV_Y, true)); inputManager.addMapping("DPAD Up", new JoyAxisTrigger(0, JoyInput.AXIS_POV_Y, false)); inputManager.addListener(this, "DPAD Left", "DPAD Right", "DPAD Down", "DPAD Up"); inputManager.addMapping("Joy Left", new JoyAxisTrigger(0, 0, true)); inputManager.addMapping("Joy Right", new JoyAxisTrigger(0, 0, false)); inputManager.addMapping("Joy Down", new JoyAxisTrigger(0, 1, true)); inputManager.addMapping("Joy Up", new JoyAxisTrigger(0, 1, false)); inputManager.addListener(this, "Joy Left", "Joy Right", "Joy Down", "Joy Up"); } public void onAnalog(String name, float isPressed, float tpf) { System.out.println(name + " = " + isPressed); } public void onAction(String name, boolean isPressed, float tpf) { System.out.println(name + " = " + isPressed); } }