diff --git a/src/conio/win32cio.c b/src/conio/win32cio.c index d64cf535cde5521dcc0d1b6f84ca9d632a16763d..606922750391d30a324ad2901bc0f917ba114130 100644 --- a/src/conio/win32cio.c +++ b/src/conio/win32cio.c @@ -308,9 +308,9 @@ int win32_keyboardio(int isgetch) 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.uChar.AsciiChar - || (!(input.Event.KeyEvent.dwControlKeyState & NUMLOCK_ON) && (input.Event.KeyEvent.uChar.AsciiChar >= '0' && input.Event.KeyEvent.uChar.AsciiChar <= '9'))) - if((input.Event.KeyEvent.dwControlKeyState & RIGHT_ALT_PRESSED|LEFT_ALT_PRESSED) - && (input.Event.KeyEvent.dwControlKeyState & RIGHT_CTRL_PRESSED|LEFT_CTRL_PRESSED) + || (!(input.Event.KeyEvent.dwControlKeyState & NUMLOCK_ON) && (input.Event.KeyEvent.uChar.AsciiChar >= '.' && input.Event.KeyEvent.uChar.AsciiChar <= '9'))) + /* Is this an AltGr key? */ + if(((input.Event.KeyEvent.dwControlKeyState & RIGHT_ALT_PRESSED|LEFT_CTRL_PRESSED == RIGHT_ALT_PRESSED|LEFT_CTRL_PRESSED) && (BYTE)input.Event.KeyEvent.uChar.AsciiChar) lastch=(BYTE)input.Event.KeyEvent.uChar.AsciiChar; else