mirror of
https://github.com/reactos/reactos.git
synced 2024-11-23 11:33:31 +08:00
[NTUSER] Remember old KL for Chinese IMEs (#5266)
The Chinese user uses Ctrl+Space key combination to switch between the IME keyboard and the non-IME keyboard. To enable Ctrl+Space, the system has to remember the previous keyboard layout. In IntImmActivateLayout function, remember the previous keyboard layout (hklPrev) to switch back for Chinese IMEs. CORE-18950
This commit is contained in:
parent
df72bcd06c
commit
2d31b06c67
@ -650,14 +650,21 @@ IntImmActivateLayout(
|
||||
co_IntSendMessage(hImeWnd, WM_IME_SYSTEM, IMS_ACTIVATELAYOUT, (LPARAM)pKL->hkl);
|
||||
UserDerefObjectCo(pImeWnd);
|
||||
}
|
||||
else if (pti->spDefaultImc)
|
||||
else
|
||||
{
|
||||
/* IME Activation is needed */
|
||||
pti->pClientInfo->CI_flags |= CI_IMMACTIVATE;
|
||||
/* Remember old keyboard layout to switch back for Chinese IMEs */
|
||||
pti->hklPrev = pti->KeyboardLayout->hkl;
|
||||
|
||||
if (pti->spDefaultImc)
|
||||
{
|
||||
/* IME Activation is needed */
|
||||
pti->pClientInfo->CI_flags |= CI_IMMACTIVATE;
|
||||
}
|
||||
}
|
||||
|
||||
UserAssignmentLock((PVOID*)&(pti->KeyboardLayout), pKL);
|
||||
pti->pClientInfo->hKL = pKL->hkl;
|
||||
pti->pClientInfo->CodePage = pKL->CodePage;
|
||||
}
|
||||
|
||||
static VOID co_IntSetKeyboardLayoutForProcess(PPROCESSINFO ppi, PKL pKL)
|
||||
|
Loading…
Reference in New Issue
Block a user