Module: wine Branch: master Commit: b8b0b7fa41640bc983479595f9bb337bbdbbd019 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b8b0b7fa41640bc983479595f9...
Author: Dmitry Timoshkov dmitry@codeweavers.com Date: Mon Oct 27 19:14:05 2008 +0800
wineconsole: Don't ignore extended keys.
---
programs/wineconsole/user.c | 33 +++++++++++++++------------------ 1 files changed, 15 insertions(+), 18 deletions(-)
diff --git a/programs/wineconsole/user.c b/programs/wineconsole/user.c index 01950a3..1c00f31 100644 --- a/programs/wineconsole/user.c +++ b/programs/wineconsole/user.c @@ -1035,26 +1035,23 @@ static void WCUSER_GenerateKeyInputRecord(struct inner_data* data, BOOL down, if (lParam & (1L << 24)) ir.Event.KeyEvent.dwControlKeyState |= ENHANCED_KEY; if (sys) ir.Event.KeyEvent.dwControlKeyState |= LEFT_ALT_PRESSED; /* FIXME: gotta choose one */
- if (!(ir.Event.KeyEvent.dwControlKeyState & ENHANCED_KEY)) + if (down) { - if (down) - { - switch (ToUnicode(wParam, HIWORD(lParam), keyState, buf, 2, 0)) - { - case 2: - /* FIXME... should generate two events... */ - /* fall thru */ - case 1: - last = buf[0]; - break; - default: - last = 0; - break; - } - } - ir.Event.KeyEvent.uChar.UnicodeChar = last; /* FIXME: HACKY... and buggy because it should be a stack, not a single value */ - if (!down) last = 0; + switch (ToUnicode(wParam, HIWORD(lParam), keyState, buf, 2, 0)) + { + case 2: + /* FIXME... should generate two events... */ + /* fall thru */ + case 1: + last = buf[0]; + break; + default: + last = 0; + break; + } } + ir.Event.KeyEvent.uChar.UnicodeChar = last; /* FIXME: HACKY... and buggy because it should be a stack, not a single value */ + if (!down) last = 0;
WriteConsoleInput(data->hConIn, &ir, 1, &n); }