GamepadInputDevice(Controller controller){ if(controller==null) throw new NullPointerException("Passed Controller intolerably null."); this.controller = controller; controller.setEventQueueSize(256); eventQueue = controller.getEventQueue(); System.out.println("CONTROLLER: "+controller.getClass().getName()); controllerSources = new ArrayList<GamepadControllerSource>(controller.getComponents().length); //System.out.println("Rumblers: "+controller.getRumblers().length); //controller.getRumblers()[0].rumble(1f); for(net.java.games.input.Component comp : controller.getComponents()){ GamepadControllerSource gcs = new GamepadControllerSource(comp); controllerSources.add(gcs); controllerSourceMap.put(comp, gcs); nameMap.put(comp.getName(),gcs); System.out.println("Component found: "+comp.getName()); }//end for(components) gamepadEventThread.start(); }//end consructor