- Send Input Language Change System Character flag if font signature and system character is set.

svn path=/trunk/; revision=72203
This commit is contained in:
James Tabor 2016-08-11 22:33:12 +00:00
parent d3001862bf
commit 018df975b6

View file

@ -1880,6 +1880,7 @@ BOOL co_IntProcessKeyboardMessage(MSG* Msg, BOOL* RemoveMessages)
{ {
if ( Msg->wParam == VK_SHIFT && !(IS_KEY_DOWN(gafAsyncKeyState, VK_SHIFT))) if ( Msg->wParam == VK_SHIFT && !(IS_KEY_DOWN(gafAsyncKeyState, VK_SHIFT)))
{ {
WPARAM wParamILR;
PKL pkl = pti->KeyboardLayout; PKL pkl = pti->KeyboardLayout;
if (pWnd) UserDerefObjectCo(pWnd); if (pWnd) UserDerefObjectCo(pWnd);
@ -1894,9 +1895,17 @@ BOOL co_IntProcessKeyboardMessage(MSG* Msg, BOOL* RemoveMessages)
if (pkl != NULL && gLanguageToggleKeyState) if (pkl != NULL && gLanguageToggleKeyState)
{ {
TRACE("Posting WM_INPUTLANGCHANGEREQUEST KeyState %d\n", gLanguageToggleKeyState ); TRACE("Posting WM_INPUTLANGCHANGEREQUEST KeyState %d\n", gLanguageToggleKeyState );
wParamILR = gLanguageToggleKeyState;
// If system character set and font signature send flag.
if ( gSystemFS & pkl->dwFontSigs )
{
wParamILR |= INPUTLANGCHANGE_SYSCHARSET;
}
UserPostMessage( UserHMGetHandle(pWnd), UserPostMessage( UserHMGetHandle(pWnd),
WM_INPUTLANGCHANGEREQUEST, WM_INPUTLANGCHANGEREQUEST,
gLanguageToggleKeyState, wParamILR,
(LPARAM)pkl->hkl ); (LPARAM)pkl->hkl );
gLanguageToggleKeyState = 0; gLanguageToggleKeyState = 0;