summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--emu/port/win-x11a.c4
-rw-r--r--include/version.h2
3 files changed, 5 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 435c2d33..2021c38d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+20080617
+ win-x11a.c add sqweek's change to pass on KeyRelease values (but perhaps 1-byte values are no longer enough?)
20080614
change os/port/devcons.c to use error not panic in sysfatal
20080612
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;
diff --git a/include/version.h b/include/version.h
index c1bc9be6..4f8b6d71 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1 +1 @@
-#define VERSION "Fourth Edition (20080611)"
+#define VERSION "Fourth Edition (20080617)"