ByeongSik Jeon : user32: Set the vkey value to VK_PROCESSKEY when IME process key.
Alexandre Julliard
julliard at winehq.org
Mon Apr 28 08:01:32 CDT 2008
Module: wine
Branch: master
Commit: 936e8473dbea0790ecb64d8af843e87840a6b331
URL: http://source.winehq.org/git/wine.git/?a=commit;h=936e8473dbea0790ecb64d8af843e87840a6b331
Author: ByeongSik Jeon <bsjeon at hanmail.net>
Date: Sat Apr 26 00:19:22 2008 +0900
user32: Set the vkey value to VK_PROCESSKEY when IME process key.
---
dlls/user32/message.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 7f3407e..7f1b68b 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -36,6 +36,7 @@
#include "dbt.h"
#include "dde.h"
#include "imm.h"
+#include "ddk/imm.h"
#include "wine/unicode.h"
#include "wine/server.h"
#include "user_private.h"
@@ -1747,6 +1748,11 @@ static BOOL process_keyboard_message( MSG *msg, UINT hw_id, HWND hwnd_filter,
return FALSE;
}
accept_hardware_message( hw_id, remove, 0 );
+
+ if ( msg->message == WM_KEYDOWN || msg->message == WM_KEYUP )
+ if ( ImmProcessKey(msg->hwnd, GetKeyboardLayout(0), msg->wParam, msg->lParam, 0) )
+ msg->wParam = VK_PROCESSKEY;
+
return TRUE;
}
@@ -2995,8 +3001,8 @@ BOOL WINAPI TranslateMessage( const MSG *msg )
TRACE_(key)("Translating key %s (%04lx), scancode %02x\n",
SPY_GetVKeyName(msg->wParam), msg->wParam, LOBYTE(HIWORD(msg->lParam)));
- if (ImmProcessKey(msg->hwnd, GetKeyboardLayout(0), msg->wParam, msg->lParam,0))
- return TRUE;
+ if ( msg->wParam == 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