 
 		public function UniversalBinder(__stage:Stage) {
 			stage = __stage;
-			gameInput = new GameInput();
+			if (GameInput.isSupported) gameInput = new GameInput();
 			bindings = new Vector.<Binding>();
 			commandsActivations = {};
 

				stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
				
				// Starts listening to device addition events
				gameInput.addEventListener(GameInputEvent.DEVICE_ADDED, onGameInputDeviceAdded);
                gameInput.addEventListener(GameInputEvent.DEVICE_REMOVED, onGameInputDeviceRemoved);
				

				_isStarted = true;

				stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyUp, false);

				// Stops listening to device addition events
				if (gameInput != null) {
					gameInput.removeEventListener(GameInputEvent.DEVICE_ADDED, onGameInputDeviceAdded);
					gameInput.removeEventListener(GameInputEvent.DEVICE_REMOVED, onGameInputDeviceRemoved);
				}

				_isStarted = false;
			}
