imm32: Handle keyboard changes when processing input.
This commit is contained in:
parent
6df5ce7c9e
commit
836bd1fdae
|
@ -2882,6 +2882,22 @@ BOOL WINAPI ImmProcessKey(HWND hwnd, HKL hKL, UINT vKey, LPARAM lKeyData, DWORD
|
||||||
else
|
else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
/* Make sure we are inputting to the correct keyboard */
|
||||||
|
if (data->immKbd->hkl != hKL)
|
||||||
|
{
|
||||||
|
ImmHkl *new_hkl = IMM_GetImmHkl(hKL);
|
||||||
|
if (new_hkl)
|
||||||
|
{
|
||||||
|
data->immKbd->pImeSelect(imc, FALSE);
|
||||||
|
data->immKbd->uSelected--;
|
||||||
|
data->immKbd = new_hkl;
|
||||||
|
data->immKbd->pImeSelect(imc, TRUE);
|
||||||
|
data->immKbd->uSelected++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
if (!data->immKbd->hIME || !data->immKbd->pImeProcessKey)
|
if (!data->immKbd->hIME || !data->immKbd->pImeProcessKey)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue