2
0

TestJoystick.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package jme3test.input;
  2. import com.jme3.app.SimpleApplication;
  3. import com.jme3.input.JoyInput;
  4. import com.jme3.input.Joystick;
  5. import com.jme3.input.controls.ActionListener;
  6. import com.jme3.input.controls.AnalogListener;
  7. import com.jme3.input.controls.JoyAxisTrigger;
  8. import com.jme3.system.AppSettings;
  9. public class TestJoystick extends SimpleApplication implements AnalogListener {
  10. public static void main(String[] args){
  11. TestJoystick app = new TestJoystick();
  12. AppSettings settings = new AppSettings(true);
  13. settings.setUseJoysticks(true);
  14. app.setSettings(settings);
  15. app.start();
  16. }
  17. @Override
  18. public void simpleInitApp() {
  19. Joystick[] joysticks = inputManager.getJoysticks();
  20. if (joysticks == null)
  21. throw new IllegalStateException("Cannot find any joysticks!");
  22. for (Joystick joy : joysticks){
  23. System.out.println(joy.toString());
  24. }
  25. inputManager.addMapping("DPAD Left", new JoyAxisTrigger(0, JoyInput.AXIS_POV_X, true));
  26. inputManager.addMapping("DPAD Right", new JoyAxisTrigger(0, JoyInput.AXIS_POV_X, false));
  27. inputManager.addMapping("DPAD Down", new JoyAxisTrigger(0, JoyInput.AXIS_POV_Y, true));
  28. inputManager.addMapping("DPAD Up", new JoyAxisTrigger(0, JoyInput.AXIS_POV_Y, false));
  29. inputManager.addListener(this, "DPAD Left", "DPAD Right", "DPAD Down", "DPAD Up");
  30. inputManager.addMapping("Joy Left", new JoyAxisTrigger(0, 0, true));
  31. inputManager.addMapping("Joy Right", new JoyAxisTrigger(0, 0, false));
  32. inputManager.addMapping("Joy Down", new JoyAxisTrigger(0, 1, true));
  33. inputManager.addMapping("Joy Up", new JoyAxisTrigger(0, 1, false));
  34. inputManager.addListener(this, "Joy Left", "Joy Right", "Joy Down", "Joy Up");
  35. }
  36. public void onAnalog(String name, float isPressed, float tpf) {
  37. System.out.println(name + " = " + isPressed);
  38. }
  39. public void onAction(String name, boolean isPressed, float tpf) {
  40. System.out.println(name + " = " + isPressed);
  41. }
  42. }