keybindings: Make sure to filter out the virtualized mod itself
When devirtualizing the modifier, we can't include the virtualized mod itself, otherwise our grab won't have the correct mask.
This commit is contained in:
parent
1445903a34
commit
8a0da1cb07
@ -213,8 +213,9 @@ reload_modmap (MetaKeyBindingManager *keys)
|
|||||||
|
|
||||||
if (idx != XKB_MOD_INVALID)
|
if (idx != XKB_MOD_INVALID)
|
||||||
{
|
{
|
||||||
xkb_state_update_mask (scratch_state, 1 << idx, 0, 0, 0, 0, 0);
|
xkb_mod_mask_t vmodmask = (1 << idx);
|
||||||
*mask_p = xkb_state_serialize_mods (scratch_state, XKB_STATE_MODS_DEPRESSED);
|
xkb_state_update_mask (scratch_state, vmodmask, 0, 0, 0, 0, 0);
|
||||||
|
*mask_p = xkb_state_serialize_mods (scratch_state, XKB_STATE_MODS_DEPRESSED) & ~vmodmask;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
*mask_p = 0;
|
*mask_p = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user