complete ne approach to gamepad handling