import net.java.games.input.*; public class InputListener { private static int drumPort; private static boolean drumsAreConnected; private static Controller[] ca; private static boolean[] drumPressed; public static boolean getDrums() { drumPort = -1; drumsAreConnected = false; ca = ControllerEnvironment.getDefaultEnvironment().getControllers(); for(int i=0;i<ca.length;i++) { if (ca[i].poll() && ca[i].getName().equals("Harmonix Drum Kit for PlayStation(R)3")) { drumsAreConnected = true; drumPort = i; } } return drumsAreConnected; } public static boolean[] drumsPressed() { if (getDrums() && drumPort != -1) { Component[] components = ca[drumPort].getComponents(); drumPressed = new boolean[21]; for(int i=0; i<=20; i++) { drumPressed[i] = false; } for (int i=0; i<13; i++ ) { if (components[i].getPollData()==1.0f) drumPressed[i] = true; else drumPressed[i] = false; } if (components[13].getPollData()==Component.POV.UP) drumPressed[13] = true; else if (components[13].getPollData()==Component.POV.UP_RIGHT) drumPressed[14] = true; else if (components[13].getPollData()==Component.POV.RIGHT) drumPressed[15] = true; else if (components[13].getPollData()==Component.POV.DOWN_RIGHT) drumPressed[16] = true; else if (components[13].getPollData()==Component.POV.DOWN) drumPressed[17] = true; else if (components[13].getPollData()==Component.POV.DOWN_LEFT) drumPressed[18] = true; else if (components[13].getPollData()==Component.POV.LEFT) drumPressed[19] = true; else if (components[13].getPollData()==Component.POV.UP_LEFT) drumPressed[20] = true; fixDrums(); return drumPressed; }//end if else { drumPressed = new boolean[21]; for (int i=0; i<=20; i++) drumPressed[i] = false; return drumPressed; } }//end drumsPressed() public static void fixDrums()//dirty fix for drum numbering { boolean[] tempDrums = new boolean[4]; for(int i =0; i<4; i++) tempDrums[i] = drumPressed[i]; drumPressed[0] = tempDrums[2]; drumPressed[1] = tempDrums[3]; drumPressed[2] = tempDrums[0]; drumPressed[3] = tempDrums[1]; } }//end class