I'm having some difficulty adding support for the Amazon Fire Controller using GameInput.
There are a couple of issues I'm running into. First: the Fire Game Controller sends "secondary" events for some of the controls when the "primary" control event isn't handled. There doesn't seem to be any way in GameInput to stop this behavior - so you will *always* get the secondary input. This is particularly bad with the "B" button, which sends a secondary control of "BACK". The full listing of these secondary controls is here: https://developer.amazon.com/appsandservices/solutions/devices/fire-tv/docs/amazon-fire-ga me-controller-input#Input
The second issue is that *some* of the control messages come in as Event.CHANGE on GameInputControl. Others come in as KeyboardEvent.DOWN / KeyboardEvent.UP on the stage. There doesn't appear to be any way to associate the KeyboardEvent inputs with the controller that sent them.
How should these be handled?
Ideally, all events from a game controller would be routed through GameInput rather than sometimes showing up as "Keyboard" events.
Edit: This also seems to affect the nVidia Shield controller on Shield TV, so it's not specific to the Amazon Fire controller.