-
Notifications
You must be signed in to change notification settings - Fork 295
Not responding to taps from Mac Trackpad #384
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
Comments
@SkeletonSlayerz Do full clicks still work? The |
Full Clicks do work. |
I don't think glutin itself is the problem here. I have run the glutin examples and they seem to be responding to my clicks just fine. |
@SkeletonSlayerz Ok, I have quite a few other issues to address first, but I will test this and have a go at fixing it soon. |
Sure take your time with it. |
I'm also getting this problem. |
Ok, so I think this problem occurs because both the "press" and "release" events are sent within the duration of a single frame, and at the moment most widgets just check whether the mouse button is |
I think the easiest way to solve this for now would be to: in the case that a tap occurs and both "press" and "release" are sent at once, delay handling the "release" until the next update. This should just be a temporary fix though, as we want response to be as fast as possible. |
Am I correct in saying that this bug is due to a fundamental flaw in the architecture of Conrod? All interactions are based on checking and comparing states, with each widget checking the global input state and storing its own history of that state, when really an event-driven model should be used, with widgets subscribing to events (such as mouse down, mouse up, frame update, etc.). Most other GUI systems in existence use an event model, if I'm not mistaken. The current architecture, as shown by this bug, is liable to miss transient states, i.e. state changes that very quickly revert to the last state, such as a trackpad tap - this could possibly happen with devices other than Mac trackpads, such as other trackpads, or touch screen devices. |
Ok, the fundamental problem should be solved by #684, which moves conrod over to an event-based user input system. Still need to move most widgets over to the new system and I've a few ideas for providing some more higher-level events, though these changes shouldn't take too long. Thanks for raising this issue, it was definitely the first sign that conrod's old user input handling was flawed! The new system should be a big improvement :) |
Half the taps on a Mac trackpad are not registering. I am not doing a full click but a tap on the trackpad, which all other applications are responding to.
The text was updated successfully, but these errors were encountered: