Dmitry Timoshkov : wineconsole: Don't ignore extended keys.
Alexandre Julliard
julliard at winehq.org
Tue Oct 28 10:01:53 CDT 2008
Module: wine
Branch: master
Commit: b8b0b7fa41640bc983479595f9bb337bbdbbd019
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b8b0b7fa41640bc983479595f9bb337bbdbbd019
Author: Dmitry Timoshkov <dmitry at 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);
}
More information about the wine-cvs
mailing list