Как-то заработался, да и забыл похвастаться. Мой фикс вошёл в pyglet. Там патч-то на одну строку, точнее на плюс одну константу в строке, однако пофиксило багу с геймпадом в линуксе.
Вот такой маленький diff:
... 185 185 elif control._event_type == EV_ABS and control._event_code == ABS_Y: 186 186 have_y = True 187 187 elif control._event_type == EV_KEY and \ 188 - control._event_code == BTN_JOYSTICK: 188 + control._event_code in (BTN_JOYSTICK, BTN_GAMEPAD): 189 189 have_button = True 190 190 if not (have_x and have_y and have_button): 191 191 return
Итак - зал славы :).