diff --git a/src/conio/win32cio.c b/src/conio/win32cio.c index 8dfa299e874246698a976a3a702f724011a4e75e..8bdcba6feeb9f2fc9b0a7c3bd7b1fe7af89397be 100644 --- a/src/conio/win32cio.c +++ b/src/conio/win32cio.c @@ -26,7 +26,7 @@ const struct vid_mode vid_modes[VID_MODES]={ }; static int lastch=0; -static int domouse=0; +static int domouse=1; static DWORD last_state=0; static int xpos=1; static int ypos=1; @@ -88,6 +88,8 @@ int win32_kbhit(void) if(lastch) return(1); while(1) { + if(mouse_pending()) + return(1); if(!PeekConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &input, 1, &num) || !num) break; @@ -128,8 +130,6 @@ int win32_kbhit(void) continue; } } - if(mouse_pending()) - return(1); return(0); } @@ -146,8 +146,10 @@ int win32_getch(void) lastch>>=8; return(ch); } - if(mouse_pending()) + if(mouse_pending()) { lastch=CIO_KEY_MOUSE; + continue; + } if(!ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &input, 1, &num) || !num || (input.EventType!=KEY_EVENT && input.EventType!=MOUSE_EVENT)) continue; @@ -240,13 +242,13 @@ int win32_initciolib(long inmode) int win32_hidemouse(void) { - domouse=0; + /* domouse=0; */ return(0); } int win32_showmouse(void) { - domouse=1; + /* domouse=1; */ return(0); }