Andrew Eikum : user32: Handle VK_PACKET messages in TranslateMessage.
Alexandre Julliard
julliard at winehq.org
Wed Aug 19 11:31:42 CDT 2009
Module: wine
Branch: master
Commit: f9e7c3f4ba782259b692af1f541ce9a04ac6cff8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f9e7c3f4ba782259b692af1f541ce9a04ac6cff8
Author: Andrew Eikum <aeikum at codeweavers.com>
Date: Tue Aug 18 11:29:09 2009 -0500
user32: Handle VK_PACKET messages in TranslateMessage.
---
dlls/user32/message.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index f4913e1..3f7a4cd 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -3015,11 +3015,21 @@ BOOL WINAPI TranslateMessage( const MSG *msg )
if (msg->message < WM_KEYFIRST || msg->message > WM_KEYLAST) return FALSE;
if (msg->message != WM_KEYDOWN && msg->message != WM_SYSKEYDOWN) return TRUE;
- TRACE_(key)("Translating key %s (%04lx), scancode %02x\n",
- SPY_GetVKeyName(msg->wParam), msg->wParam, LOBYTE(HIWORD(msg->lParam)));
+ TRACE_(key)("Translating key %s (%04lx), scancode %04x\n",
+ SPY_GetVKeyName(msg->wParam), msg->wParam, HIWORD(msg->lParam));
- if ( msg->wParam == VK_PROCESSKEY )
+ switch (msg->wParam)
+ {
+ case VK_PACKET:
+ message = (msg->message == WM_KEYDOWN) ? WM_CHAR : WM_SYSCHAR;
+ TRACE_(key)("PostMessageW(%p,%s,%04x,%08x)\n",
+ msg->hwnd, SPY_GetMsgName(message, msg->hwnd), HIWORD(msg->lParam), LOWORD(msg->lParam));
+ PostMessageW( msg->hwnd, message, HIWORD(msg->lParam), LOWORD(msg->lParam));
+ return TRUE;
+
+ case VK_PROCESSKEY:
return ImmTranslateMessage(msg->hwnd, msg->message, msg->wParam, msg->lParam);
+ }
GetKeyboardState( state );
/* FIXME : should handle ToUnicode yielding 2 */
More information about the wine-cvs
mailing list