aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/devdraw
diff options
context:
space:
mode:
authorJustin Davis <jrcd83@gmail.com>2011-09-28 14:11:32 -0400
committerRuss Cox <rsc@swtch.com>2011-09-28 14:11:32 -0400
commit4b58d457076fa1ee3d86ed31162a0721ebf44862 (patch)
tree2d1e5cb734f5e3a2116518cfa37c3c0b909df462 /src/cmd/devdraw
parent6135b41c7dbfdf5ac1840a1d1d4f20505e429278 (diff)
downloadplan9port-4b58d457076fa1ee3d86ed31162a0721ebf44862.tar.gz
plan9port-4b58d457076fa1ee3d86ed31162a0721ebf44862.tar.bz2
plan9port-4b58d457076fa1ee3d86ed31162a0721ebf44862.zip
devdraw: do not interpret alt-tab as alt for compose
R=rsc CC=plan9port.codebot http://codereview.appspot.com/5132050
Diffstat (limited to 'src/cmd/devdraw')
-rw-r--r--src/cmd/devdraw/devdraw.h2
-rw-r--r--src/cmd/devdraw/x11-itrans.c10
-rw-r--r--src/cmd/devdraw/x11-srv.c6
3 files changed, 16 insertions, 2 deletions
diff --git a/src/cmd/devdraw/devdraw.h b/src/cmd/devdraw/devdraw.h
index 074cf0d7..7abf212e 100644
--- a/src/cmd/devdraw/devdraw.h
+++ b/src/cmd/devdraw/devdraw.h
@@ -4,4 +4,6 @@ void _initdisplaymemimage(Memimage*);
int _latin1(Rune*, int);
int parsewinsize(char*, Rectangle*, int*);
int mouseswap(int);
+void abortcompose(void);
+
diff --git a/src/cmd/devdraw/x11-itrans.c b/src/cmd/devdraw/x11-itrans.c
index ff127c04..7a4df248 100644
--- a/src/cmd/devdraw/x11-itrans.c
+++ b/src/cmd/devdraw/x11-itrans.c
@@ -137,12 +137,20 @@ __xtoplan9kbd(XEvent *e)
return k+0;
}
+int alting;
+
+void
+abortcompose(void)
+{
+ alting = 0;
+}
+
extern int _latin1(Rune*, int);
static Rune*
xtoplan9latin1(XEvent *e)
{
static Rune k[10];
- static int alting, nk;
+ static int nk;
int n;
int r;
diff --git a/src/cmd/devdraw/x11-srv.c b/src/cmd/devdraw/x11-srv.c
index 2035a068..5a4be705 100644
--- a/src/cmd/devdraw/x11-srv.c
+++ b/src/cmd/devdraw/x11-srv.c
@@ -36,7 +36,7 @@
Button2MotionMask|\
Button3MotionMask)
-#define Mask MouseMask|ExposureMask|StructureNotifyMask|KeyPressMask|EnterWindowMask|LeaveWindowMask
+#define Mask MouseMask|ExposureMask|StructureNotifyMask|KeyPressMask|EnterWindowMask|LeaveWindowMask|FocusChangeMask
typedef struct Kbdbuf Kbdbuf;
typedef struct Mousebuf Mousebuf;
@@ -549,6 +549,10 @@ runxevent(XEvent *xev)
matchkbd();
break;
+ case FocusOut:
+ abortcompose();
+ break;
+
case SelectionRequest:
_xselect(xev);
break;