| 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); |
| } |
| |
| } |