216

Update: this is a lengthy post, you can jump straight to the answer below


Note: The quick language list refers to the list in the screenshot below, accessible throught the shortcut Win + Space bar

I have two languages for windows spell check in my system, English (United States) and French (Switzerland), but despite both languages being properly configured with "Swiss French" input keyboard, US Keyboard input keeps appearing on this list:

enter image description here

Here's the settings for English (United States) language, you can see the only input is "Swiss French":

enter image description here

Same for Français (Suisse), the only input is "Swiss French":

enter image description here

In the Control Panel, both are also set as Swiss French:

enter image description here

All my settings are set to use "language list":

enter image description here enter image description here

Here's a few things that I already tried:

  • I already managed to remove it by some language configuration gymnastics, by adding and removing languages, it always eventually comes back
  • I have already done this: https://superuser.com/a/484595/168632
  • There's no mention of US Keyboard in my registry settings either:

enter image description here

Please help, I'm desperate, this is my third computer with Windows 10 and they all do the same thing.

4

12 Answers 12

186

To fix this issue, delete the Preload registry folder and sign out or restart the computer:

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

This folder seems to be some legacy remnant that contains non-user-specified keyboard layouts to be added to the list of languages when the user signs in. While the fix itself works through restarts, at time of writing there's things that bring back that pesky folder, here's a few that I bumped into personally:

  • Remote desktop to a computer with US layout
  • Using the same Microsoft account on another PC that still has this issue

Whenever the problem comes back, that registry folder needs to be deleted again.

Edit 2: Thanks to @Lu55's suggestion, here's a handy one-liner to use on a command prompt with admin privileges:

reg delete "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /f

Edit: I have created a RemovePreload.reg text file with the following content, this way this fix can easily be re-applied every time without navigating the registry:

Windows Registry Editor Version 5.00

[-HKEY_USERS\.DEFAULT\Keyboard Layout\Preload]

To use this, save it in a text file and change the extension from .txt to .reg. Then whenever it comes back, you can just double click it and restart or sign out.

14
  • 1
    Thanks! This was the only thing that finally fixed it for me. The US keyboard layout always got added when I logged in. I could remove it by first adding it, and then removing it, like Snaiper's answer, but it would always reappear when restarting. This seems to have removed it permanently.
    – The Oddler
    Apr 22, 2017 at 18:24
  • 8
    It appears after a while anyway.
    – troorl
    Apr 23, 2017 at 17:37
  • Yea, it reappeared for me now too :( Was able to restart only once without it reappearing it seems.
    – The Oddler
    Apr 23, 2017 at 20:14
  • 1
    The solution of adding and removing the keyboard is way safer and as hacky as this one :) Mar 28, 2018 at 21:39
  • 1
    Have you tried, instead of removing the Preload key, to remove its entries and restrict permissions to the key? I went to permissions of Preload, Advanced, disabled inheritance, converted all inherited permissions, removed all of them, added read-only permission for Everyone, and saved. That should prevent Windows from re-adding the entries that re-add keyboard profiles.
    – bers
    Jun 28, 2019 at 7:26
83

Actually, the solution is quite simple and requires no registry editing!

  • Go to to Region and Language (previously named Language preferences), click on English (United States) and go to Options.

  • If you see "US Keyboard" there, remove it, and you're done.

  • If the remove button is not working / disabled, add another keyboard first, and then try again.

  • HOWEVER, if you do not see it there, then click on Add a keyboard, add "US keyboard", then remove that keyboard and you're done.

I figured this out after some trial and error trying out various things, I had the same issue.

20
  • 60
    It appears after reboot again.
    – troorl
    Apr 23, 2017 at 17:40
  • 6
    The third point is literally: "Have you tried turning it on and off again?"... and that was on point :) Thanks for that!
    – ccjmne
    Aug 26, 2017 at 16:58
  • 6
    Doesn't work after reboot, I tested this before coming up with the solution above Feb 15, 2018 at 9:14
  • 4
    Yes, doesn't work after restarting or after hybernating the pc.
    – Ozan Kurt
    Mar 31, 2018 at 7:50
  • 6
    After the June 2018 Windows 10 update, the "Remove" setting for English US is disabled. (Grr.)
    – ms609
    Jun 15, 2018 at 9:45
46

I found the answer after an hour as of now for build:

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362
  1. This will work even after restarting.
  2. It's easy to do. And set for good.
  3. It will stop any other languages from being created for new users.
  4. It will no longer show these languages in the login screen too.
  5. No registry hacks which didn't work for me after restarting.

You can also go via (but ensure to check your language settings first - see screenshots below).

Control PanelRegionAdministrative tab → Copy settings...


Here's the step in images with notation in the images also for reference.

how to

Then your registry should look like so, with only one preload.

Copy this Computer\HKEY_USERS\.DEFAULT\Keyboard Layout\Preload to the address bar of the registry editor to jump straight to it to check for yourself.

one preload

9
  • When looking inside Control PanelRegionAdministrative tabCopy settings..., I notice there's a setting where new accounts would always have "English - International" set as the default, while all other settings have "English - US" as the default. I went ahead and copied my settings over to the new account (by ticking the checkbox for new accounts and hit the "Copy Settings" button), so now I'm going to see if this will work. May 9, 2020 at 16:21
  • 1
    This is a proper way to do it, since deleting Preload does nothing - Windows 10 just restores it. Sep 5, 2020 at 7:33
  • Bingo! Only that I first needed to explicitly add the language according in @Snaiper answer to be able to then remove it. After I copied the language settings the language got removed from the Preload registry key.
    – Alex Che
    Apr 4, 2022 at 8:01
  • Hey man, do you know any way to revert this? I have 2 layouts and Windows was adding a 3rd. I did your suggestion but now I can only have 1 ever and I need my 2nd layout. Please tell me you know a way to undo this
    – Kris Bonev
    Oct 4, 2022 at 9:36
  • 1
    I just did this in Windows 11, per instructions in annotated screenshot, and it has solved the problem (for now), will report back if the phantom returns again
    – downwitch
    Nov 21, 2023 at 8:11
18

This is not the permanent fix, but a handy batch file which adds en-US keyboard layout and then removes it (you have to first add it to be able to remove it).

Remove_en-US.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">

    <!--User List-->
    <gs:UserList>
        <gs:User UserID="Current"/>
    </gs:UserList>

    <!--input preferences--> 
    <gs:InputPreferences>
        <!--add en-US keyboard input-->
        <gs:InputLanguageID Action="add" ID="0409:00000409"/>
        <!--remove en-US keyboard input-->
        <gs:InputLanguageID Action="remove" ID="0409:00000409"/>
    </gs:InputPreferences>

</gs:GlobalizationServices>

Remove_en-US.bat:

control intl.cpl,, /f:"%CD%\Remove_en-US.xml"

Then you can just run Remove_en-US.bat to remove the layout. I set it to run this batch file whenever I unlock my machine in my task scheduler, which finally eliminiated this issue for me.

Here, 0409 is the locale ID and 00000409 is the keyboard layout values. For the list of the locale ID:keyboard layout value see https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10).

3
  • 1
    The only solution that works for me on Win 10 1909. Thanks. Jul 12, 2020 at 11:06
  • 1
    My pleasure! ,By the way, I set this batch file to run whenever I unlock my machine in the task scheduler, which essentially eliminated the issue for me.
    – joon
    Jul 13, 2020 at 14:30
  • 1
    This should be the accepted answer. Oct 14, 2022 at 14:08
6

Theres is two places for keyboard configuration in windows 10, control panel -> Language

The other is in setting just like your screenshot

Makes the changes there too, it should fix the problem.

enter image description here

1
  • Unfortunately this is not it, I have added a screenshot of that screen on my computer, it's correctly configured with "Swiss French" exactly the same way as in the new UI Jun 23, 2016 at 12:00
5

I didn't have 409 entry in the registry (see accepted anwer). The steps I took to remove English (US) from the quick selection menu:

  1. Open "Language Preferences" from the quick selection menu.
  2. Add English (US) language.
  3. Remove English (US) language.

Tip: In Control Panel\All Control Panel Items\Language\Advanced settings -> Change language bar hot keys you can set hot key action for "Between input languages" to "(None)" to avoid accidental keyboard layout switch.

1
  • 2
    I think your answer misses the point of this question. The problem is not removing US English language, which I type in and definitely want in my list of languages, the point is to remove a non-existent "US Keyboard" layout that doesn't match my own keyboard layout and that creeps up every once in a while as an additional "language" in the list of languages. There are many threads regarding the removal of US English language itself but this one is not one of them. I also don't mean to remove the language list, I use it to fast switch between languages all the time (for windows' spell checker). Sep 21, 2016 at 7:17
3

Mikel's answer above fixes this.... but just in case this reappears for you (as it did for me): Do you perhaps have a custom AutoHotkey shortcut to change keyboard layouts?

The problem was that my AutoHotkey script contained the following lines of code:

; This should be replaced by whatever your native language is. See 
; http://msdn.microsoft.com/en-us/library/dd318693%28v=vs.85%29.aspx
; for the language identifiers list.
el := DllCall("LoadKeyboardLayout", "Str", "00000408", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1

So while in my desktop this would work beautifully and switch from English (UK keyboard layout) to Greek (GR keyboard layout) and vice versa, on my laptop that has a US keyboard, this script would be responsible for the extra layouts appearing out of the blue on my language switcher.

I hope this helps!

3

Windows 10 anniversary edition contains a new "feature" where it assumes that both regional and language settings come with a mandatory keyboard layout. Those layouts cannot be removed via the settings GUI.

But I was able to overcome it via PowerShell with a script like this:

$1=New-WinUserLanguageList en-US
$1.Add("nl-NL")
$1.Add("de-DE")
Set-WinUserLanguageList $1

Copy-paste it into a PowerShell window.

The demo above configures the US layout as a default with the additional NL and BE layouts. Adjust as needed.

1
  • nothing has been changed for me after this command execution Jul 25, 2019 at 1:18
2
  1. Control Panel
  2. Clock, Language, and Region
  3. Language
  4. Change input methods
  5. Advanced settings
  6. Override for default input method
  7. Choose your preferred layout (instead of "Use language list")
  8. Save

Screenshot of Input settings -> Advanced settings

2
  • 6
    'Language' is now missing in the latest win10 updates.
    – platinums
    Feb 11, 2019 at 17:36
  • 3
    @platinums Starting in Windows 10 1903/1909, Languages has been migrated over to the Windows 10 Settings app. May 9, 2020 at 16:22
2

Actually it seems the issue is also with the same key under your actual user profile (HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload), not just HKEY_USERS\.DEFAULT\Keyboard Layout\Preload.

I can replicate this pretty consistently - when I add a key 00000429 (Persian) for example there and reboot, I get the Persian keyboard automatically added, and when I delete it and reboot, the Persian is no longer there.

In sum, you may want to make sure that you don't have undesired languages in neither HKEY_USERS\.DEFAULT\Keyboard Layout\Preload nor HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload.

1
  • This was the extra step needed to solve my issue. Thank you!
    – bennedich
    Sep 12, 2021 at 7:20
0

I've tried all the answers above and in a dozen of more places, but unfortunately none of them worked. However, Angelos' suggestion above re Autohotkey helped me realize that there must be another app that's adding those layouts I removed manually, and it indeed turned out to be true, in my case LanguageIndicator was the culprit.

Another clue I've noticed that helped me: @login screen I had only two layouts, and only some time after login the other two useless layouts appeared. After that excluding all auto-login items and then launching them manually allowed to easily find the one app that added those extra layouts.

0

This one also drives me crazily, specially every time after restart laptop.

Here is one tip I found, hope it also helps each of you:

Firstly, ensuring the new random keyboard is removed, if not found in the keyboard list, please add the keyboard first, then remove it.

Open Settings, then in search bar type "typing", Then click "Advanced keyboard settings", then unclick "Let me set a different input method for each app window". Restart to have a test.

enter image description here

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .