tcmd/devdraw: clear keyboard state on lost focus. - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit d74fdb6edbedbb184de9a8230e156460cb609aa6
DIR parent 3d31240bfdaee03aff28103b530ff593e9ddbbc5
HTML 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:
M CONTRIBUTORS | 1 +
M src/cmd/devdraw/x11-srv.c | 6 ++++++
2 files changed, 7 insertions(+), 0 deletions(-)
---
DIR diff --git a/CONTRIBUTORS b/CONTRIBUTORS
t@@ -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>
DIR diff --git a/src/cmd/devdraw/x11-srv.c b/src/cmd/devdraw/x11-srv.c
t@@ -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;