Merge lp://staging/~vanvugt/compiz-core/fix-925293.2 into lp://staging/compiz-core

Proposed by Daniel van Vugt
Status: Merged
Merged at revision: 3006
Proposed branch: lp://staging/~vanvugt/compiz-core/fix-925293.2
Merge into: lp://staging/compiz-core
Diff against target: 133 lines (+28/-31)
3 files modified
src/event.cpp (+22/-29)
src/privatescreen.h (+1/-1)
src/screen.cpp (+5/-1)
To merge this branch: bzr merge lp://staging/~vanvugt/compiz-core/fix-925293.2
Reviewer Review Type Date Requested Status
Sam Spilsbury Approve
Review via email: mp+93544@code.staging.launchpad.net

This proposal supersedes a proposal from 2012-02-17.

Description of the change

Improved the fix for LP: #925293 (add tap support):
  * Add correct tap detection for non-modifier-only key combinations.
  * Avoid getting "stuck" with modifiers apparently locked down.
  * Ungrab the keyboard on key releases, not presses.
  * ReplayKeyboard of release events as well as presses (previously only
    presses, which could cause release events to queue up and block the
    server).

My test case which previously caused modifiers to get "stuck" now works. The test case was "Add correct tap detection for non-modifier-only key combinations", which caused the modifiers-stuck problem in previous revisions.

To post a comment you must log in.
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Posted in a previous version of this proposal

> XAllowEvents (priv->dpy, ReplayKeyboard, event->xkey.time);

Do we need to do that if an action event was handled ? I would think that AsyncKeyboard makes more sense here.

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Posted in a previous version of this proposal

62 - if (priv->grabs.empty ()

You should also change tapGrab to false whenever a plugin takes a grab too.

Revision history for this message
Daniel van Vugt (vanvugt) wrote : Posted in a previous version of this proposal

Both good points. Though I haven't tested AsyncKeyboard where you say...

Revision history for this message
Sam Spilsbury (smspillaz) wrote : Posted in a previous version of this proposal

actionEventHandled ? AsyncKeyboard : ReplayKeyboard

This is what I did when I fixed it locally.

Revision history for this message
Daniel van Vugt (vanvugt) wrote : Posted in a previous version of this proposal

Yes, I understand what you meant thanks. Now testing changes...

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Looks great, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches