commit d74fdb6edbedbb184de9a8230e156460cb609aa6
parent 3d31240bfdaee03aff28103b530ff593e9ddbbc5
Author: Roger Peppe <rogpeppe@gmail.com>
Date: Wed, 17 Jul 2013 17:55:09 +0100
cmd/devdraw: clear keyboard state on lost focus.
See https://bitbucket.org/rsc/plan9port/issue/128/alt-button-sticks-in-acme-sometimes-after
R=rsc
https://codereview.appspot.com/11453043
Diffstat:
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
@@ -40,6 +40,7 @@ Peter Saveliev <svinota.saveliev@gmail.com>
Richard Miller <millerresearch@gmail.com>
Rob Kroeger <robkroeger@gmail.com>
Rob Pike <robpike@gmail.com>
+Roger Peppe <rogpeppe@gmail.com>
Russ Cox <rsc@swtch.com>
Sean McKean <smckean83@gmail.com>
Shenghou Ma <minux.ma@gmail.com>
diff --git a/src/cmd/devdraw/x11-srv.c b/src/cmd/devdraw/x11-srv.c
@@ -619,6 +619,12 @@ runxevent(XEvent *xev)
break;
case FocusOut:
+ /*
+ * Some key combinations (e.g. Alt-Tab) can cause us
+ * to see the key down event without the key up event,
+ * so clear out the keyboard state when we lose the focus.
+ */
+ kstate = 0;
abortcompose();
break;