stop appending repeat keys to the input buffer
[retroray] / src / dos / keyb.c
index 6b00866..8789ea7 100644 (file)
@@ -73,7 +73,7 @@ static unsigned char keystate[512];
 void kb_init(void)
 {
        if(DONE_INIT) {
-               fprintf(stderr, "keyboard driver already initialized!\n");
+               errormsg("keyboard driver already initialized!\n");
                return;
        }
 
@@ -238,7 +238,7 @@ static void INTERRUPT kbintr()
                c = (keystate[KEY_LSHIFT] | keystate[KEY_RSHIFT]) ? scantbl_shift[code] : key;
        }
 
-       if(press) {
+       if(press && !keystate[key]) {
                /* append to buffer */
                last_key = c;
                buffer[buf_widx] = c;