diff --git a/src/conio/win32cio.c b/src/conio/win32cio.c index 4f782cf353de420c8a32d7af621d6058b650be44..70df1f29b7568c2774f1c65e040892e5232287a4 100644 --- a/src/conio/win32cio.c +++ b/src/conio/win32cio.c @@ -264,7 +264,9 @@ int win32_keyboardio(int isgetch) case KEY_EVENT: if(input.Event.KeyEvent.bKeyDown) { if((input.Event.KeyEvent.dwControlKeyState & (RIGHT_ALT_PRESSED|LEFT_ALT_PRESSED|RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED|ENHANCED_KEY)) - || (input.Event.KeyEvent.wVirtualKeyCode >= VK_F1 && input.Event.KeyEvent.wVirtualKeyCode <= VK_F24)) + || (input.Event.KeyEvent.wVirtualKeyCode >= VK_F1 && input.Event.KeyEvent.wVirtualKeyCode <= VK_F24) + || !input.Event.KeyEvent.uChar.AsciiChar + || (!(input.Event.KeyEvent.dwControlKeyState & NUMLOCK_ON) && (input.Event.KeyEvent.uChar.AsciiChar >= '0' && input.Event.KeyEvent.uChar.AsciiChar <= '9'))) lastch=win32_getchcode(input.Event.KeyEvent.wVirtualKeyCode, input.Event.KeyEvent.dwControlKeyState); else lastch=input.Event.KeyEvent.uChar.AsciiChar;