Allow toggling modifier keys even when an overlay is displayed

This commit is contained in:
Maarten van Gompel 2021-03-07 00:44:38 +01:00 committed by Hiltjo Posthuma
parent bd3620acf4
commit 72b936baf6
1 changed files with 3 additions and 5 deletions

View File

@ -572,8 +572,7 @@ unpress(Key *k, KeySym mod)
simulate_keypress(keys[i].keysym); simulate_keypress(keys[i].keysym);
} }
} }
pressedmod = mod; if (mod) {
if (pressedmod) {
simulate_keypress(mod); simulate_keypress(mod);
} }
simulate_keypress(k->keysym); simulate_keypress(k->keysym);
@ -600,10 +599,9 @@ unpress(Key *k, KeySym mod)
} }
} }
if (i != numkeys) { if (i != numkeys) {
if (pressedmod) { if (mod) {
simulate_keyrelease(mod); simulate_keyrelease(mod);
} }
pressedmod = 0;
for (i = 0; i < numkeys; i++) { for (i = 0; i < numkeys; i++) {
if (keys[i].pressed) { if (keys[i].pressed) {
@ -614,7 +612,7 @@ unpress(Key *k, KeySym mod)
} }
} }
if (enableoverlays && currentoverlay != -1) { if (enableoverlays && currentoverlay != -1 && !IsModifierKey(k->keysym)) {
if (releaseprotect) { if (releaseprotect) {
releaseprotect = 0; releaseprotect = 0;
} else { } else {