diff --git a/src/conio/ansi_cio.c b/src/conio/ansi_cio.c index 14bcf21f0b3c062ecce0e73caac8bea383663190..f239a446c09c66aba253007776dfbf4288bed972 100644 --- a/src/conio/ansi_cio.c +++ b/src/conio/ansi_cio.c @@ -385,8 +385,10 @@ static void ansi_keythread(void *params) _beginthread(ansi_keyparse,1024,NULL); for(;;) { - if(!ansi_raw_inch) - ansi_raw_inch=fgetc(stdin); + if(!ansi_raw_inch) { + if(read(fileno(stdin),&ansi_raw_inch,1)!=1) + ansi_raw_inch=0; + } else SLEEP(1); }