commit ce0779e5c910c0e93d05449e2a4515cad6fea856
parent d356e43d9cd411486b8939d9f2d2c81c9836bf75
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sat, 27 Oct 2012 00:01:15 +0200
Unpress modifiers so there is no problem when exiting svkbd inbetween.
Diffstat:
1 file changed, 8 insertions(+), 0 deletions(-)
diff --git a/svkbd.c b/svkbd.c
@@ -371,6 +371,14 @@ press(Key *k, KeySym mod) {
 					True, 0);
 		}
 		XTestFakeKeyEvent(dpy, XKeysymToKeycode(dpy, k->keysym), True, 0);
+
+		for(i = 0; i < LENGTH(keys); i++) {
+			if(keys[i].pressed && IsModifierKey(keys[i].keysym)) {
+				XTestFakeKeyEvent(dpy,
+					XKeysymToKeycode(dpy, keys[i].keysym),
+					False, 0);
+			}
+		}
 	}
 	drawkey(k);
 }