I did some sanity-checking while preparing the upload, and noticed that
I missed a loop that assumed that key_down was 128 entries long.  It's in
is_any_key_pressed, and would have the effect of making keys > 128 get
ignored when waiting for any key.  The attached patch fixes both spots in
the code; I searched for other places where 128 is hardcoded as the
length of this array and didn't find any, so this should be it.

  Daniel
--- rawkey.c.orig       2006-10-16 19:16:37.000000000 -0700
+++ rawkey.c    2006-10-16 19:23:55.000000000 -0700
@@ -23,7 +23,7 @@
 static struct termios new_termio,old_termio;
 static int vtswitch_allowed=0;
 
-static int key_down[128];
+static int key_down[NR_KEYS];
 
 /* user-supplied functions to 'undraw' and 'redraw' screen
  * if vt switching is allowed.
@@ -205,7 +205,7 @@
 {
 int f;
 
-for(f=0;f<128;f++)
+for(f=0;f<NR_KEYS;f++)
   if(key_down[f]) return(1);
 
 return(0);

Attachment: signature.asc
Description: Digital signature

Reply via email to