Browse Source
Each joystick has its own interrupt endpoint, and the main loop used to wait until each became ready (i.e. Serviced) in turn. On some systems, when only one joystick is in use, only one endpoint is polled. The inactive endpoint therefore never became ready and the mainloop would freeze. Rewrote part of the loop to prevent this. New flow: 1) Wait until it is time to poll the controllers (based on current poll frequency setting) 2) Wait until either endpoints is ready. 3) Write data to first endpoint if ready, otherwise skip. 4) Write data to second endpoint if ready, otherwise skip.pull/5/head

1 changed files with 6 additions and 15 deletions
Loading…
Reference in new issue