winemac.drv: Call ActivateKeyboardLayout when layout changes.

To update user32 current keyboard layout as well.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2021-05-05 11:46:49 +02:00 committed by Alexandre Julliard
parent 179c57603a
commit db901b91ef
2 changed files with 6 additions and 0 deletions

View File

@ -1054,6 +1054,8 @@ void macdrv_keyboard_changed(const macdrv_event *event)
macdrv_compute_keyboard_layout(thread_data);
ActivateKeyboardLayout(thread_data->active_keyboard_layout, 0);
SendMessageW(GetActiveWindow(), WM_CANCELMODE, 0, 0);
}
@ -1169,6 +1171,9 @@ HKL CDECL macdrv_ActivateKeyboardLayout(HKL hkl, UINT flags)
TRACE("hkl %p flags %04x\n", hkl, flags);
if (hkl == thread_data->active_keyboard_layout)
return hkl;
EnterCriticalSection(&layout_list_section);
update_layout_list();

View File

@ -384,6 +384,7 @@ struct macdrv_thread_data *macdrv_init_thread_data(void)
set_queue_display_fd(macdrv_get_event_queue_fd(data->queue));
TlsSetValue(thread_data_tls_index, data);
ActivateKeyboardLayout(data->active_keyboard_layout, 0);
return data;
}