@Override
		public void run() {
			System.out.println("starting ListenerThread");

			// TODO exact delta time
			while (true) {
				Controllers.poll();

				for (int i = 0; i < Controllers.getControllerCount(); i++) {
					Controller controller = Controllers.getController(i);

					if (controller.getName().toLowerCase().contains(gamepadName.toLowerCase())) {
						updateValues(controller);
					}
				}

				// call the listeners
				for (GamepadListener listener : listeners) {
					listener.tick(gamepad, SLEEP / 1000.);
				}

				try {
					Thread.sleep(SLEEP);
				} catch (InterruptedException e) {
				}
			}
		}