Windows 10 – Windows Display Languages cause automatic keyboards adding

keyboardkeyboard-layoutlanguagewindowswindows 10

I have troubles with Windows 10 keyboard settings. I wish to keep the only two languages and keyboards:

  • English (United States) – US Keyboard
  • Czech – Czech Keyboard

However, I see the following settings. The list of preferred languages is complete and there appear only 2 languages – these I want:

enter image description here

However, upon restarting, the keyboard is somehow set to 4 keyboards, which is annoying and I want to remove both United Kingdom-based keyboards:

enter image description here

I tried to list all the languages in the PowerShell using the command:

Get-WinUserLanguageList

Giving me the following output where only the wanted languages appear correclty:

LanguageTag     : en-US
Autonym         : English (United States)
EnglishName     : English
LocalizedName   : English (United States)
ScriptName      : Latin script
InputMethodTips : {0409:00000409}
Spellchecking   : True
Handwriting     : False

LanguageTag     : cs
Autonym         : čeština
EnglishName     : Czech
LocalizedName   : Czech
ScriptName      : Latin script
InputMethodTips : {0405:00000405}
Spellchecking   : True
Handwriting     : False

However, upon restarting, the United Kingdom variations of the both English and Czech are somehow imported (sometimes one of them).

I have also tried to remove the content of the following Registry folder with no luck:

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

How can I fix this issue? My only goal is to remove all languages and keyboards related to the United Kingdom at all.

My Windows version is:

  • Edition: Windows 10
  • Version: 1803 1903
  • Installed on 25/07/18 20/09/19
  • OS build: 17134.885 18362.356

Update 28/09/19: The recent Windows Update didn't fix the problem.

Best Answer

This is most likely due to synchronized settings.

It could be that your computer is syncing these settings from elsewhere. Make sure you turn off the syncing behaviour before you troubleshoot any further:

>Settings > Accounts > Sync your settings > Language Preferences (OFF)

settings window in windows 10 for syncing through your online profile

or: There an issue reported about this for 1803, which does not seem to have been resolved. It is a known issue:

Update: This should be resolved for version 2004

If English (United Kingdom) is the current Windows display language, and you then add for instance English (India) to the Preferred languages list, afterwards neither English (United Kingdom) nor English (India) can be removed from the Preferred languages list.

or:

Someone has suggested that Razer's Synapse software keeps adding the random layouts. Disabling it on startup fixes all these issues. This could be a problem for some who comes here looking for a solution.

or:

It could also be related to this question here on superuser.


If you still see the issue, there are a few proposed solutions to this problem:

1 use the old language preferences:

WIN + R then type shell:::{BF782CC9-5A52-4A17-806C-2A894FFEEAC5} and remove English(United Kingdom) from there.

2 Set en-US as only user language (found here):

Open Powershell with Administrative rights and type the following one by one:

New-WinUserLanguageList en-US

Set-WinUserLanguageList en-US

You will be greeted with:

Confirm
Continue with this operation?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

Press Y to confirm. Reboot. And install the wanted extra languages again.

3 Yet another way:

  1. From the Start menu, search for powershell.
  2. Right-click Windows Powershell in the search results and choose Run as administrator.
  3. Type or copy/paste the following command at the command prompt, and then press Enter.
`Get-WinUserLanguageList`

After typing this command, make note of the “LanguageTag” listed for the language you wish to remove, as you will need it in the next step.

  1. Type or copy/paste each of the following commands at the command prompt, and then press Enter. In the following commands, instead of typing , replace it with the language tag you wish to remove, such as en-in for English (India).
$LangList = Get-WinUserLanguageList
$MarkedLang = $LangList | where LanguageTag -eq "<languagecode>"
$LangList.Remove($MarkedLang)

Set-WinUserLanguageList $LangList -Force

You can also try this tutorial from windows central

You can read more about windows language packs here

Related Question