protected void addButton( Component comp ) { logger.log(Level.FINE, "Adding button: \"{0}\" id:" + comp.getIdentifier(), comp); Identifier id = comp.getIdentifier(); if( !(id instanceof Button) ) { throw new IllegalArgumentException( "Component is not an button:" + comp ); } String name = comp.getName(); String original = id.getName(); try { Integer.parseInt(original); } catch (NumberFormatException e){ original = String.valueOf(buttonIndex.size()); } String logicalId = JoystickCompatibilityMappings.remapComponent( controller.getName(), original ); if( logicalId != original ) { logger.log(Level.FINE, "Remapped:" + original + " to:" + logicalId); } JoystickButton button = new DefaultJoystickButton( getInputManager(), this, getButtonCount(), name, logicalId ); addButton(button); buttonIndex.put( comp, button ); }
@Override public Joystick[] loadJoysticks(final InputManager inputManager) { for (int i = 0; i < GLFW_JOYSTICK_LAST; i++) { if (glfwJoystickPresent(i)) { final String name = glfwGetJoystickName(i); final GlfwJoystick joystick = new GlfwJoystick(inputManager, this, i, name); joysticks.put(i, joystick); final FloatBuffer floatBuffer = glfwGetJoystickAxes(i); int axisIndex = 0; while (floatBuffer.hasRemaining()) { floatBuffer.get(); final String logicalId = JoystickCompatibilityMappings.remapComponent(joystick.getName(), convertAxisIndex(axisIndex)); final JoystickAxis joystickAxis = new DefaultJoystickAxis(inputManager, joystick, axisIndex, convertAxisIndex(axisIndex), logicalId, true, false, 0.0f); joystick.addAxis(axisIndex, joystickAxis); axisIndex++; } final ByteBuffer byteBuffer = glfwGetJoystickButtons(i); int buttonIndex = 0; while (byteBuffer.hasRemaining()) { byteBuffer.get(); final String logicalId = JoystickCompatibilityMappings.remapComponent(joystick.getName(), String.valueOf(buttonIndex)); final JoystickButton button = new DefaultJoystickButton(inputManager, joystick, buttonIndex, String.valueOf(buttonIndex), logicalId); joystick.addButton(button); joyButtonPressed.put(button, false); buttonIndex++; } } } return joysticks.values().toArray(new GlfwJoystick[joysticks.size()]); }
JoystickButton button = new DefaultJoystickButton( getInputManager(), this, getButtonCount(), name, logicalId ); addButton(button);
protected void addButton( Component comp ) { logger.log(Level.FINE, "Adding button: \"{0}\" id:" + comp.getIdentifier(), comp); Identifier id = comp.getIdentifier(); if( !(id instanceof Button) ) { throw new IllegalArgumentException( "Component is not an axis:" + comp ); } String name = comp.getName(); String original = id.getName(); String logicalId = JoystickCompatibilityMappings.remapComponent( controller.getName(), original ); if( name != original ) { logger.log(Level.FINE, "Remapped:" + original + " to:" + logicalId); } JoystickButton button = new DefaultJoystickButton( getInputManager(), this, getButtonCount(), name, logicalId ); addButton(button); buttonIndex.put( comp, button ); }
@Override public Joystick[] loadJoysticks(final InputManager inputManager) { for (int i = 0; i < GLFW_JOYSTICK_LAST; i++) { if (glfwJoystickPresent(i)) { final String name = glfwGetJoystickName(i); final GlfwJoystick joystick = new GlfwJoystick(inputManager, this, i, name); joysticks.put(i, joystick); final FloatBuffer floatBuffer = glfwGetJoystickAxes(i); int axisIndex = 0; while (floatBuffer.hasRemaining()) { floatBuffer.get(); final String logicalId = JoystickCompatibilityMappings.remapComponent(joystick.getName(), convertAxisIndex(axisIndex)); final JoystickAxis joystickAxis = new DefaultJoystickAxis(inputManager, joystick, axisIndex, convertAxisIndex(axisIndex), logicalId, true, false, 0.0f); joystick.addAxis(axisIndex, joystickAxis); axisIndex++; } final ByteBuffer byteBuffer = glfwGetJoystickButtons(i); int buttonIndex = 0; while (byteBuffer.hasRemaining()) { byteBuffer.get(); final String logicalId = JoystickCompatibilityMappings.remapComponent(joystick.getName(), String.valueOf(buttonIndex)); joystick.addButton(new DefaultJoystickButton(inputManager, joystick, buttonIndex, String.valueOf(buttonIndex), logicalId)); buttonIndex++; } } } return joysticks.values().toArray(new GlfwJoystick[joysticks.size()]); }