Commit f51542d9 authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

user32: Call ImmProcessKey in TranslateMessage to allow IMEs to handle key…

user32: Call ImmProcessKey in TranslateMessage to allow IMEs to handle key processing if they choose to.
parent d20d374f
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include "winnls.h" #include "winnls.h"
#include "dbt.h" #include "dbt.h"
#include "dde.h" #include "dde.h"
#include "imm.h"
#include "wine/unicode.h" #include "wine/unicode.h"
#include "wine/server.h" #include "wine/server.h"
#include "user_private.h" #include "user_private.h"
...@@ -2994,6 +2995,9 @@ BOOL WINAPI TranslateMessage( const MSG *msg ) ...@@ -2994,6 +2995,9 @@ BOOL WINAPI TranslateMessage( const MSG *msg )
TRACE_(key)("Translating key %s (%04lx), scancode %02x\n", TRACE_(key)("Translating key %s (%04lx), scancode %02x\n",
SPY_GetVKeyName(msg->wParam), msg->wParam, LOBYTE(HIWORD(msg->lParam))); SPY_GetVKeyName(msg->wParam), msg->wParam, LOBYTE(HIWORD(msg->lParam)));
if (ImmProcessKey(msg->hwnd, GetKeyboardLayout(0), msg->wParam, msg->lParam,0))
return TRUE;
GetKeyboardState( state ); GetKeyboardState( state );
/* FIXME : should handle ToUnicode yielding 2 */ /* FIXME : should handle ToUnicode yielding 2 */
switch (ToUnicode(msg->wParam, HIWORD(msg->lParam), state, wp, 2, 0)) switch (ToUnicode(msg->wParam, HIWORD(msg->lParam), state, wp, 2, 0))
......
...@@ -538,6 +538,7 @@ BOOL WINAPI ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM); ...@@ -538,6 +538,7 @@ BOOL WINAPI ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
BOOL WINAPI ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM); BOOL WINAPI ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
#define ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage) #define ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage)
BOOL WINAPI ImmNotifyIME(HIMC, DWORD, DWORD, DWORD); BOOL WINAPI ImmNotifyIME(HIMC, DWORD, DWORD, DWORD);
BOOL WINAPI ImmProcessKey(HWND, HKL, UINT, LPARAM, DWORD);
BOOL WINAPI ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR); BOOL WINAPI ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
BOOL WINAPI ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR); BOOL WINAPI ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
#define ImmRegisterWord WINELIB_NAME_AW(ImmRegisterWord) #define ImmRegisterWord WINELIB_NAME_AW(ImmRegisterWord)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment