user32: Handle VK_PACKET messages in TranslateMessage.

This commit is contained in:
Andrew Eikum 2009-08-18 11:29:09 -05:00 committed by Alexandre Julliard
parent 55736136e2
commit f9e7c3f4ba
1 changed files with 13 additions and 3 deletions

View File

@ -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 */