Windows 10 thinks I am obligated to use the the Indian version of the German keyboard layout

0

It turns out, I cannot remove this keyboard layout (on regedit, its code is d0010407. Deleting it won't have any effect since it keeps coming back after restart. Another suspected side effect is that, it seems to mess up with the actual keyboard itself. Sometimes, if I click on a certain key on an on-screen keyboard it gives me a different key. For example, pressing on ü gives me ß, ö gives ü and ä gives ö How do I get rid of this? I tried powershell commands from a youtube tutorial but the command to remove it keeps returning "false" instead of "true":

*

$LangList = Get-WinUserLanguageList*

*$MarkedLang = $LangList | where LanguageTag -eq de-IN*

*$LangList.Remove($MarkedLang)*

*Set-WinUserLanguageList $LangList –Force*

After the third command, it returns "false" where it should have returned "true"

This is the result of Get-Culture and GetUICulture commands on PowerShell:

**Get-Culture | fl ***


Parent                         : en

LCID                           : 2057

KeyboardLayoutId               : 2057

Name                           : en-GB

IetfLanguageTag                : en-GB

DisplayName                    : English (United Kingdom)

NativeName                     : English (United Kingdom)

EnglishName                    : English (United Kingdom)

TwoLetterISOLanguageName       : en

ThreeLetterISOLanguageName     : eng

ThreeLetterWindowsLanguageName : ENG

CompareInfo                    : CompareInfo - en-GB

TextInfo                       : TextInfo - en-GB

IsNeutralCulture               : False

CultureTypes                   : SpecificCultures, InstalledWin32Cultures,
 FrameworkCultures
NumberFormat                   : System.Globalization.NumberFormatInfo

DateTimeFormat                 : System.Globalization.DateTimeFormatInfo

Calendar                       : System.Globalization.GregorianCalendar

OptionalCalendars              : {System.Globalization.GregorianCalendar, System.Globalization.GregorianCalendar}

UseUserOverride                : True

IsReadOnly                     : False







**Get-UICulture | fl ***


Parent                         : en

LCID                           : 2057

KeyboardLayoutId               : 2057

Name                           : en-GB

IetfLanguageTag                : en-GB

DisplayName                    : English (United Kingdom)

NativeName                     : English (United Kingdom)

EnglishName                    : English (United Kingdom)

TwoLetterISOLanguageName       : en

ThreeLetterISOLanguageName     : eng

ThreeLetterWindowsLanguageName : ENG

CompareInfo                    : CompareInfo - en-GB

TextInfo                       : TextInfo - en-GB

IsNeutralCulture               : False

CultureTypes                   : SpecificCultures, InstalledWin32Cultures,
 FrameworkCultures
NumberFormat                   : System.Globalization.NumberFormatInfo

DateTimeFormat                 : System.Globalization.DateTimeFormatInfo

Calendar                       : System.Globalization.GregorianCalendar

OptionalCalendars              : {System.Globalization.GregorianCalendar, System.Globalization.GregorianCalendar}

UseUserOverride                : True

IsReadOnly                     : False

This is what I got after the "gwmi win32_quickfixengineering | sort installedon -des" command:

Source        Description      HotFixID      InstalledBy          InstalledOn              
------        -----------      --------      -----------          -----------              
DESKTOP-0L... Security Update  KB4338832     NT AUTHORITY\SYSTEM  11/07/2018 00:00:00      
DESKTOP-0L... Security Update  KB4338819     NT AUTHORITY\SYSTEM  11/07/2018 00:00:00      
DESKTOP-0L... Update           KB4343669     NT AUTHORITY\SYSTEM  10/07/2018 00:00:00      
DESKTOP-0L... Security Update  KB4287903     NT AUTHORITY\SYSTEM  08/06/2018 00:00:00

user268569

Posted 2018-06-25T20:42:26.457

Reputation: 101

check the output of powershell's "Get-Culture | fl *" and "Get-UICulture | fl *" where Get-Culture is the current culture on the system and the Get-UICulture is the current user interface (UI) culture settings for Windows – Antony – 2018-06-26T11:32:21.847

Thanks for the input, I tried them both Get-Culture | fl * and Get-UICulture | fl * but they returned absolutely nothing. Is it even a recognized command? – user268569 – 2018-06-26T11:59:00.173

what version of PS – Antony – 2018-06-26T12:03:59.643

My bad, I used Powershell ISE instead of the one marked as "Desktop app" and it returned results. – user268569 – 2018-06-26T12:06:15.730

I added them to my original question – user268569 – 2018-06-26T12:11:56.063

which keyboards are available reg query "HKEY_CURRENT_USER\Keyboard Layout\Preload" – Antony – 2018-06-26T12:35:57.703

5 of them: 00000809, 0000042c, 00000419, 00000417, and the infamous d0010407 (which is invisible and cannot be taken out from the language settings) – user268569 – 2018-06-26T12:49:00.617

are you remoting? – Antony – 2018-06-26T13:02:29.670

Not at all, this is just a personal computer of mine. I was able to get rid of this problem couple months ago but Windows seems determined to add it back after updates, for good this time. Although I have no idea why – user268569 – 2018-06-26T13:06:17.173

delete all but English 00000809 and see if this helps, as it may be a parent or daughter of one of the others. 0000042c Azeri Latin, 00000419 Russian, 00000417 German. – Antony – 2018-06-28T09:54:53.380

Well, surprisingly the parasitic key (d0010407) was not even there but it still showed up in my list of languages. I deleted all but English and all languages still remain in my list even though the registry shows just 00000809. Is thereba way to reset this back to normal? – user268569 – 2018-06-28T10:57:40.970

try $i = New-WinUserLanguageList en-Gb; Set-WinUserLanguageList $i – Antony – 2018-06-28T11:21:07.397

Should I try this on powershell? – user268569 – 2018-06-28T11:35:23.523

yes this is a powershell command. – Antony – 2018-06-28T11:36:50.090

Well, it just asked me whether I wanted to "continue with that operation" and upon clicking yes nothing absolutely has happened. – user268569 – 2018-06-29T12:33:19.650

Update, after a restart, my language bar disappeared since there were only 1 language - English left anyway. I started adding all the other languages back and upon adding German that wretched German-Indian keyboard found its way again? Why would windows force me to do this? – user268569 – 2018-06-29T14:02:14.263

Update, I don't know how, but somehow I just noticed that it is gone, whether it was the powershell commands, or windows fixing them, I have no idea but the problem seems to be fixed finally. – user268569 – 2018-07-20T17:35:08.853

1I think probably windows bug was fixed – Antony – 2018-07-20T17:54:02.517

Probably, although this happened before, where the Indian keyboard disappeared and came right back in a month or so later. – user268569 – 2018-07-20T18:44:08.647

And, it came back again :D – user268569 – 2018-07-31T14:40:51.697

Try "gwmi win32_quickfixengineering | sort installedon -desc" to find which updates have been applied recently so you could roll back pre kb update maybe you can find which specific update causes it. – Antony – 2018-08-01T12:13:17.760

@Antony, Thanks for this suggestion, but I still have no idea why there is no a directly or file where the keyboard settings are actually stored so I can actually go in there and change it. This is really stupid and I really doubt something like this happens by accident. But I can't figure out why windows forces me to use the dysfunctional indian keyboard – user268569 – 2018-08-12T00:08:59.647

I added the results of that command into my main question, but I don't see how this is useful. Is it really reasonable to roll back an entire update because of one thing? – user268569 – 2018-08-12T00:11:14.900

Consider showing us $LangList | ft -Property LanguageTag, InputMethodTipS. Check the output thoroughly: then you can see, that $MarkedLang = $LangList | where LanguageTag -eq de-IN results to $null as de-IN is not a valid LanguageTag… – JosefZ – 2019-11-09T17:41:04.173

No answers