commit 72b936baf6f179797118f86464d7aa1b7e960deb
Author:     Maarten van Gompel <[email protected]>
AuthorDate: Sun Mar 7 00:44:38 2021 +0100
Commit:     Hiltjo Posthuma <[email protected]>
CommitDate: Sun Mar 28 14:35:01 2021 +0200

    Allow toggling modifier keys even when an overlay is displayed

diff --git a/svkbd.c b/svkbd.c
index 0a56914..c11e9a4 100644
--- a/svkbd.c
+++ b/svkbd.c
@@ -572,8 +572,7 @@ unpress(Key *k, KeySym mod)
                                                
simulate_keypress(keys[i].keysym);
                                        }
                                }
-                               pressedmod = mod;
-                               if (pressedmod) {
+                               if (mod) {
                                        simulate_keypress(mod);
                                }
                                simulate_keypress(k->keysym);
@@ -600,10 +599,9 @@ unpress(Key *k, KeySym mod)
                }
        }
        if (i != numkeys) {
-               if (pressedmod) {
+               if (mod) {
                        simulate_keyrelease(mod);
                }
-               pressedmod = 0;
 
                for (i = 0; i < numkeys; i++) {
                        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) {
                        releaseprotect = 0;
                } else {

Reply via email to