package sig.modules.Controller; import java.nio.ByteBuffer; import java.nio.FloatBuffer; import java.util.Arrays; import org.lwjgl.glfw.GLFW; public class Controller { int identifier; float[] axes; byte[] buttons; public Controller(int identifier) { this.identifier=identifier; FloatBuffer axisBuffer = GLFW.glfwGetJoystickAxes(identifier); axes = new float[axisBuffer.limit()]; axisBuffer.get(axes); ByteBuffer buttonBuffer = GLFW.glfwGetJoystickButtons(identifier); buttons = new byte[buttonBuffer.limit()]; buttonBuffer.get(buttons); } public String outputAxes() { return Arrays.toString(axes); } public String outputButtons() { return Arrays.toString(buttons); } public float[] getAxes() { return axes; } public byte[] getButtons() { return buttons; } public float getAxisValue(int axisNumber) { return axes[axisNumber]; } public byte getButtonValue(int buttonNumber) { return buttons[buttonNumber]; } @Deprecated public Type getType() { return null; } @Deprecated public String getName() { return null; } public void poll() { //System.out.println(Glfw.glfwGetJoystickParam(identifier, 1)); FloatBuffer axisBuffer = GLFW.glfwGetJoystickAxes(identifier); axes = new float[axisBuffer.limit()]; axisBuffer.get(axes); ByteBuffer buttonBuffer = GLFW.glfwGetJoystickButtons(identifier); buttons = new byte[buttonBuffer.limit()]; buttonBuffer.get(buttons); //System.out.println(outputAxes()+","+outputButtons()); } @Deprecated public Component[] getComponents() { return new Component[]{}; } @Deprecated public Component getComponent(Identifier identifier2) { return null; } }