protected ControllerInfo getControllerInfo(final Controller controller) { final List<String> axisNames = Lists.newArrayList(); final List<String> buttonNames = Lists.newArrayList(); for (int i = 0; i < controller.getAxisCount(); i++) { axisNames.add(controller.getAxisName(i)); } for (int i = 0; i < controller.getButtonCount(); i++) { buttonNames.add(controller.getButtonName(i)); } return new ControllerInfo(controller.getName(), axisNames, buttonNames); }
/** * Get the value of the axis with the given index * * @param controller The index of the controller to check * @param axis The index of the axis to read * @return The axis value at time of reading */ public float getAxisValue(int controller, int axis) { return ((Controller) controllers.get(controller)).getAxisValue(axis); }
controller.getType() == Controller.Type.STICK || controller.getType() == Controller.Type.GAMEPAD || controller.getType() == Controller.Type.WHEEL || controller.getType() == Controller.Type.FINGERSTICK window.addControllerName(controller.getName() + " - " + controller.getType().toString() + " type");
public PeekingIterator<ControllerEvent> getEvents() { init(); if (!_eventsIt.hasNext()) { _eventsIt = new LwjglControllerEventIterator(); } while (Controllers.next()) { final Controller source = Controllers.getEventSource(); if (Controllers.isEventButton()) { _events.add(new ControllerEvent(Controllers.getEventNanoseconds(), source.getName(), source .getButtonName(Controllers.getEventControlIndex()), source.isButtonPressed(Controllers .getEventControlIndex()) ? 1f : 0f)); } else if (Controllers.isEventAxis()) { _events.add(new ControllerEvent(Controllers.getEventNanoseconds(), source.getName(), source .getAxisName(Controllers.getEventControlIndex()), source.getAxisValue(Controllers .getEventControlIndex()))); } else if (Controllers.isEventPovX()) { _events.add(new ControllerEvent(Controllers.getEventNanoseconds(), source.getName(), "Pov X", source .getPovX())); } else if (Controllers.isEventPovY()) { _events.add(new ControllerEvent(Controllers.getEventNanoseconds(), source.getName(), "Pov Y", source .getPovY())); } } return _eventsIt; }
Controller controller = Controllers.getController(i); if ((controller.getButtonCount() >= 3) && (controller.getButtonCount() < MAX_BUTTONS)) { controllers.add(controller); Log.info(i+" : "+((Controller) controllers.get(i)).getName());
/** * Check if the controller has the left direction pressed * * @param controller The index of the controller to check * @return True if the controller is pressed to the left */ public boolean isControllerLeft(int controller) { if (controller >= getControllerCount()) { return false; } if (controller == ANY_CONTROLLER) { for (int i=0;i<controllers.size();i++) { if (isControllerLeft(i)) { return true; } } return false; } return ((Controller) controllers.get(controller)).getXAxisValue() < -0.5f || ((Controller) controllers.get(controller)).getPovX() < -0.5f; }
/** * Check if the controller has the down direction pressed * * @param controller The index of the controller to check * @return True if the controller is pressed to the down */ public boolean isControllerDown(int controller) { if (controller >= getControllerCount()) { return false; } if (controller == ANY_CONTROLLER) { for (int i=0;i<controllers.size();i++) { if (isControllerDown(i)) { return true; } } return false; } return ((Controller) controllers.get(controller)).getYAxisValue() > 0.5f || ((Controller) controllers.get(controller)).getPovY() > 0.5f; }
/** * Get the name of the axis with the given index * * @param controller The index of the controller to check * @param axis The index of the axis to read * @return The name of the specified axis */ public String getAxisName(int controller, int axis) { return ((Controller) controllers.get(controller)).getAxisName(axis); }
/** * Get the number of axis that are avaiable on a given controller * * @param controller The index of the controller to check * @return The number of axis available on the controller */ public int getAxisCount(int controller) { return ((Controller) controllers.get(controller)).getAxisCount(); }
/** * Check if controller button is pressed * * @param controller The index of the controller to check * @param index The index of the button to check * @return True if the button is pressed */ public boolean isButtonPressed(int index, int controller) { if (controller >= getControllerCount()) { return false; } if (controller == ANY_CONTROLLER) { for (int i=0;i<controllers.size();i++) { if (isButtonPressed(index, i)) { return true; } } return false; } return ((Controller) controllers.get(controller)).isButtonPressed(index); }
int count = ((Controller) controllers.get(i)).getButtonCount()+3; count = Math.min(count, 24); for (int c=0;c<=count;c++) {
/** * Check if the controller has the right direction pressed * * @param controller The index of the controller to check * @return True if the controller is pressed to the right */ public boolean isControllerRight(int controller) { if (controller >= getControllerCount()) { return false; } if (controller == ANY_CONTROLLER) { for (int i=0;i<controllers.size();i++) { if (isControllerRight(i)) { return true; } } return false; } return ((Controller) controllers.get(controller)).getXAxisValue() > 0.5f || ((Controller) controllers.get(controller)).getPovX() > 0.5f; }
/** * Check if the controller has the up direction pressed * * @param controller The index of the controller to check * @return True if the controller is pressed to the up */ public boolean isControllerUp(int controller) { if (controller >= getControllerCount()) { return false; } if (controller == ANY_CONTROLLER) { for (int i=0;i<controllers.size();i++) { if (isControllerUp(i)) { return true; } } return false; } return ((Controller) controllers.get(controller)).getYAxisValue() < -0.5f || ((Controller) controllers.get(controller)).getPovY() < -0.5f; }
public synchronized void init() { if (_inited) { return; } try { Controllers.create(); for (int i = 0, max = Controllers.getControllerCount(); i < max; i++) { final Controller controller = Controllers.getController(i); _controllers.add(getControllerInfo(controller)); for (int j = 0; j < controller.getAxisCount(); j++) { ControllerState.NOTHING.set(controller.getName(), controller.getAxisName(j), 0); } for (int j = 0; j < controller.getButtonCount(); j++) { ControllerState.NOTHING.set(controller.getName(), controller.getButtonName(j), 0); } } } catch (final Exception e) { e.printStackTrace(); } finally { _inited = true; } }