diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 040a81dce4..fa86629a1d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,7 @@ +2000-02-11 19:15 GMT-5 David G. Holm + * source/rtl/inkey.c + ! First pass at international character support for Windows console mode. + 20000211-23:05 GMT+1 Victor Szakats * make*.bat * The different make systems generate log files with different names. diff --git a/harbour/source/rtl/inkey.c b/harbour/source/rtl/inkey.c index f734a5aded..aa0ab5e801 100644 --- a/harbour/source/rtl/inkey.c +++ b/harbour/source/rtl/inkey.c @@ -365,7 +365,12 @@ void hb_inkeyPoll( void ) /* Poll the console keyboard to stuff the Harbour /* Save the keyboard state and ASCII key code */ DWORD dwState = s_irInBuf[ s_cNumIndex ].Event.KeyEvent.dwControlKeyState; ch = s_irInBuf[ s_cNumIndex ].Event.KeyEvent.uChar.AsciiChar; - if( ch == 0 || ( dwState & ( ENHANCED_KEY | LEFT_ALT_PRESSED | LEFT_CTRL_PRESSED | RIGHT_ALT_PRESSED | RIGHT_CTRL_PRESSED | SHIFT_PRESSED ) ) ) + if( ch < 0 ) + { + /* Process international key codes */ + ch += 256; + } + else if( ch == 0 || ( dwState & ( ENHANCED_KEY | LEFT_ALT_PRESSED | LEFT_CTRL_PRESSED | RIGHT_ALT_PRESSED | RIGHT_CTRL_PRESSED | SHIFT_PRESSED ) ) ) { /* Process non-ASCII key codes */ WORD wKey;