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);
signature.asc
Description: Digital signature

