Process input reports in queue from the device and return its current state.
This function does not block.
None if no input report was received.
When this happens, game loops should preferably assume
no changes occurred to the controller’s input state.