handle input from gamepads
one hack here, another there