Thursday, 26 September 2019

How to prevent Windows 10 from automatically adding keyboard layouts (i.e. US keyboard)


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.



Answer



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.


No comments:

Post a Comment

How can I VLOOKUP in multiple Excel documents?

I am trying to VLOOKUP reference data with around 400 seperate Excel files. Is it possible to do this in a quick way rather than doing it m...