summaryrefslogtreecommitdiff
path: root/emu/port/win-x11a.c
diff options
context:
space:
mode:
Diffstat (limited to 'emu/port/win-x11a.c')
-rw-r--r--emu/port/win-x11a.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/emu/port/win-x11a.c b/emu/port/win-x11a.c
index a0ed40c1..154575cc 100644
--- a/emu/port/win-x11a.c
+++ b/emu/port/win-x11a.c
@@ -460,7 +460,7 @@ xkbdproc(void *arg)
/* BEWARE: the value of up is not defined for this proc on some systems */
XLockDisplay(xd); /* should be ours alone */
- XSelectInput(xd, xdrawable, KeyPressMask);
+ XSelectInput(xd, xdrawable, KeyPressMask | KeyReleaseMask);
for(;;){
XNextEvent(xd, &event);
xkeyboard(&event);
@@ -1004,7 +1004,7 @@ xkeyboard(XEvent *e)
int ind, md;
KeySym k;
- if(e->type == KeyPress && gkscanq != nil){
+ if(gkscanq != nil && (e->type == KeyPress || e->type == KeyRelease)){
uchar ch = e->xkey.keycode;
if(e->xany.type == KeyRelease)
ch |= 0x80;