Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

evdev race condition #2

Open
georgefst opened this issue Jul 24, 2020 · 1 comment
Open

evdev race condition #2

georgefst opened this issue Jul 24, 2020 · 1 comment
Labels
bug Something isn't working linux Platform-specific

Comments

@georgefst
Copy link
Owner

georgefst commented Jul 24, 2020

Sometimes when a device is created on the server, the device never creates axis events, only buttons/keys. LowLevel.writeEvent returns 0 but nothing happens. As far as I've seen, it only happens when the gamepad is interacted with within a second or so of loading. Refreshing and waiting briefly usually fixes it.

Could be a libevdev bug. Hard to diagnose further without more testing in different environments.

@georgefst georgefst added the bug Something isn't working label Jul 25, 2020
@georgefst
Copy link
Owner Author

As far as I've seen, it only happens when the gamepad is interacted with within a second or so of loading.

I'm increasingly sure this is what makes the difference. So it seems that there is some kind of race condition at startup. We need to wait for the device to be fully initialised, whatever that means.

It's possible this only requires changes in the evdev library, and not in monpad itself.

@georgefst georgefst changed the title evdev events not firing evdev race condition Aug 6, 2020
georgefst added a commit that referenced this issue Aug 7, 2020
@georgefst georgefst added the linux Platform-specific label Dec 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working linux Platform-specific
Projects
None yet
Development

No branches or pull requests

1 participant