In my last project for an international customer some of the users reported that the keyboard layout was switching occasionally. In the morning the user started his published desktop and the keyboard layout was being set to French (FRA) as desired. After some hours the input language suddenly was changing to German (DE) or English (EN). The interesting thing on this was, that the taskbar always showed FRA as input language. If you started to type some text inside the session it got interpreted as DE or EN keyboard layout. The user was not doing any changes in the control panel. The best part of this story was that it was impossible to reproduce this behaviour. A logoff from the session and fresh login fixxed the issue until the problem occured again.
The Golden Image was installed with Windows Server 2012R2 in native English language. Language Packs for German and French have been installed additional. There have been no interfering Group Policy regarding the language settings.
I was running out of ideas. There must be a way how to stop this strange behaviour. After some time I found the following Microsoft article.
To keep the keyboard layout from changing you need to create the following registry key.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout Name: IgnoreRemoteKeyboardLayout Type: REG_DWORD Value: 1
In addition you have delete the following registry keys/folder.
HKEY_USERS\.DEFAULT\Control Panel\International\User Profile Name: Languages Type: MULTI_SZ Value: en-US HKEY_USERS\.DEFAULT\Control Panel\International\User Profile System Backup Name: Languages Type: MULTI_SZ Value: en-US HKEY_USERS\.DEFAULT\Control Panel\International\User Profile\en-US HKEY_USERS\.DEFAULT\Control Panel\International\User Profile System Backup\en-US
Now the local keyboard input language from the client will be ignored and you can set the language via your MUI Group Policy.