GameInput.DEVICE_ADDED not getting called
Why does GameInput DEVICE_ADDED never get called on my OUYA Air application?
I have made everything static. GameInput.isSupported is true and GameInput.numDevices is 1. Are there any other possibilities?
public static var gameInput:GameInput;
private static var _device:GameInputDevice;
public function GameController(stage:MovieClip)
{
this.stage = stage;
stage.stage.addEventListener(Event.ENTER_FRAME, onFrame);
stage.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey);
stage.stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
Main.trace("" + GameInput.isSupported);
Main.trace("" + GameInput.numDevices);
gameInput = new GameInput();
gameInput.addEventListener(GameInputEvent.DEVICE_ADDED, handleDeviceAttached);
//gameInput.addEventListener(GameInputEvent.DEVICE_REMOVED, handleDeviceRemovedEvent);
keyboardController = new KeyboardController();
}
protected static function handleDeviceAttached(e:GameInputEvent):void
{
Main.trace("Device is added\n");
GameInputControlName.initialize(e.device);
for(var k:Number=0;k<GameInput.numDevices;k++){
_device = GameInput.getDeviceAt(k);
var _controls:Vector.<String> = new Vector.<String>;
_device.enabled = true;
for (var i:Number = 0; i < _device.numControls; i++) {
var control:GameInputControl = _device.getControlAt(i);
control.addEventListener(Event.CHANGE,onChange);
_controls = control.id;
}
_device.startCachingSamples(30, _controls);
}
for(var j:int=0; j<_controls.length; j++)
{
Main.trace(""+_controls
}
//stage.addEventListener(Event.ENTER_FRAME, getCachedSamples);
}
protected static function onChange(event:Event):void
{
var control:GameInputControl = event.target as GameInputControl;
Main.trace("" + control.name);
Main.trace("" + control.value);
}
Thanks!
Chris
