Also added ability to add new buttons as events come in due to Android not providing a definitive way to determine which buttons are supported on the device.
Gamepad support is still a work in progress, but functions.