Hi, On 28 July 2011 05:36, Peter Hutterer <[email protected]> wrote: > @@ -348,7 +348,11 @@ _XkbFilterLockState( XkbSrvInfoPtr xkbi, > filter->filter = _XkbFilterLockState; > filter->upAction = *pAction; > xkbi->state.locked_mods^= pAction->mods.mask; > - xkbi->setMods = pAction->mods.mask; > + /* Don't actually change setMods here. We're locking modifiers, so > + * the combined results of base + locked is the same regardless. By > + * not setting them, we get to release locked modifiers on the > + * second key _press_, not release (Bug 27903) > + */
This mostly seems OK to me, but breaks the LockNoLock state; I guess you'd want to directly change base_mods in the other branch. With that fixed: Acked-by: Daniel Stone <[email protected]> Cheers, Daniel _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
