add Gamepads API and java implementation