import processing.opengl.*; import procontroll.*; import net.java.games.input.*; ControllIO controllIO; ControllDevice joypad; ControllStick stick1; ControllStick stick2; float transX; float transY; void setup(){ size(600,600,OPENGL); transX = width/2; transY = height/2; controllIO = ControllIO.getInstance(this); joypad = controllIO.getDevice("Logitech RumblePad 2 USB"); joypad.plug(this, "handleButton1Press", ControllIO.ON_PRESS, 1); joypad.plug(this, "handleButton1Release", ControllIO.ON_RELEASE, 1); joypad.plug(this, "handleMovement", ControllIO.WHILE_PRESS, 0); stick1 = joypad.getStick(0); stick1.setMultiplier(PI); stick2 = joypad.getStick(1); stick2.setTolerance(0.06f); stick2.setMultiplier(0.05f); } void handleButton1Press(){ fill(255,0,0); joypad.rumble(1); } void handleButton1Release(){ fill(255); } void handleMovement(final float i_x,final float i_y){ transX += i_x; transY += i_y; } void draw(){ background(0); lights(); translate(transX,transY,0); rotateX(stick2.getTotalY()); rotateY(stick2.getTotalX()); box(200); }
Plug is a handy method to handle incoming button events. To create a plug you have to implement a method that reacts on the events. To plug a method you need to give ControllIO the method name, the event type you want to react on and the device and button. If your method is inside a class you have to give ControllIO a reference to it.
If you want to handle the events of a simple button, you only have to implement a method without parameters. To react on the events of a cooliehat you method needs to receive two float values, so that proCONTROLL can send you the x and y values of the cooliehat.
plug(i_object, i_methodName, i_eventType, i_intputDevice, i_input); plug(i_methodName, i_eventType, i_intputDevice, i_input);