GRUPO DE STEAM
Steam Client Beta SteamBeta
GRUPO DE STEAM
Steam Client Beta SteamBeta
16,072
JUGANDO
66,501
ONLINE
Fundado
8 de enero de 2013
[Bug report] Source based games keep adding US keyboard layout
Hello! This issue has been reported long time ago but its still present and not resolved.

===
Whenever i start a source based game it adds US keyboard layout that is only seen in language bar and not in region and language settings in control panel.

I think it started happening when i reinstalled l4d2 and now it happens also with tf2, portal2, hl2ep2 and maybe all source based games.

To remove it i first have to add US keyboard layout and then remove it. I have only my local language as input in "region and language" and location set to united kingdom since i don`t want programs in my local language on windows 7 64bit.

It is very frustrating since it keeps changing the layout at random if i don`t remove it.
===
Original topic on Steam forums started by Linlin

> Windows 8 and 8.1 both have this bug
Última edición por Perfect Player; 18 AGO 2013 a las 3:46
< >
Mostrando 91-105 de 152 comentarios
Chengjie 31 MAY 2019 a las 9:20 
THIS ANNOYS ME SO MUCH AND TILL 2019/5/31 IT STILL CAN'T BE FIXED
OS Environment: WIN10 Professional
Using Chinese and Japanese keyboard layouts.

################# METHOD 1 #################
Publicado originalmente por RunninglVlan:
I tried this solution[www.sevenforums.com] and deleted US registry keys:
  • Deleted branch HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\00000409
  • Deleted correspondig registry key (00000409) from branch HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layout\DosKeybCodes
  • Did the same in branch HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002
  • It left me only with 2 English Input Languages in Language Bar Settings

This solved the problem, yay!


I'm using WIN10 and tried deleting registry keys but only found HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001, with no ControlSet002 branch.
After deleting 2 00000409 keys in ControlSet001 then reboot. Starting L4D2, boom, another EN-US keyboard.
################# METHOD 1 #################

################# METHOD 2 #################
Publicado originalmente por 0.00000244:
Fixed that for me:
Language preferences -> Additional date and time settings -> Change date time or regional settings -> administrative tab -> copy settings -> copy your current settings (check both checkboxes here) -> OK. After that it doesn't add any new keyboard layouts.

Done this and reboot, nothing happened too.
################# METHOD 2 #################

################# METHOD 3 #################
Publicado originalmente por ⭐Prostetnic Vogon Jeltz⭐:
Publicado originalmente por Stone Cold Jane Austen:
Could you please share the script?
In Powershell (or any CMD-Line app):

$1 = New-WinUserLanguageList en-GB (or your own regional code if different)

then hit RETURN
&

Set-WinUserLanguageList $1

HTH :slim:

I run this script with editing "en-GB" to my regional code "zh-Hans-CN", run the two commands only found Chinese and EN-US keyboard layouts remaining and Japanese keyboard gone. Help me if I'm doing it wrong.THX
################# METHOD 3 #################


Última edición por Chengjie; 31 MAY 2019 a las 18:36
inferno 4 SEP 2019 a las 10:06 
Publicado originalmente por Stone Cold Jane Austen:
Could you please share the script?

Edit for your keyboard layouts and make scheduler task to run for game.exe

Set-WinUserLanguageList -LanguageList fi, ru -Force
$1 = Get-WinUserLanguageList
$1.Add('en-US')
Set-WinUserLanguageList $1 -force


$1 = Get-WinUserLanguageList
$1.RemoveAll( { $args[0].LanguageTag -clike 'en*' } )
Set-WinUserLanguageList $1 -Force
Última edición por inferno; 4 SEP 2019 a las 10:07
A-- 28 SEP 2019 a las 4:29 
This bloody bug has been there for years and I have to disable the write access in the registry to prevent US keyboard to be added. So frustrating.
DDM 7 NOV 2019 a las 1:33 
I have a similar issue, Source games keep adding primary keyboard layout for my region for some reason. I have CES Qwerty as default and US English as secondary.
Neryus 18 NOV 2019 a las 15:58 
Hey guys.

Try the solution mentionned by "Stephen Sherry" here (scroll down a bit):

https://superuser.com/questions/1092246/how-to-prevent-windows-10-from-automatically-adding-keyboard-layouts-i-e-us-ke
inferno 14 DIC 2019 a las 5:37 
Publicado originalmente por Neryus:
Hey guys.

Try the solution mentionned by "Stephen Sherry" here (scroll down a bit):

https://superuser.com/questions/1092246/how-to-prevent-windows-10-from-automatically-adding-keyboard-layouts-i-e-us-ke

I don't know why this "fix" being posted all the time, it have nothing to do with source games adding keyboard layout and it DOES NOT work.
ykimusic 11 MAR 2020 a las 17:48 
Publicado originalmente por RunninglVlan:
I tried this solution[www.sevenforums.com] and deleted US registry keys:
  • Deleted branch HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts\00000409
  • Deleted correspondig registry key (00000409) from branch HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layout\DosKeybCodes
  • Did the same in branch HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002
  • It left me only with 2 English Input Languages in Language Bar Settings

This solved the problem, yay!

After that method my PC is slows down.. It solved the problem only visually..
Publicado originalmente por ykimusic:
After that method my PC is slows down.. It solved the problem only visually..
Something else slowed your PC down; pure coincidence that it occurred after altering that registry key. There's no way that a simple kb layout regkey would have such an effect...
Gratch 6 ABR 2020 a las 6:55 
♥♥♥♥ в рот вольво, спустя столько лет проблема до сих пор актуальна. И ни один из предложенных способов не помог.

-------
I ♥♥♥♥♥♥ Valve, after so many years the problem is still relevant. And none of the proposed methods helped.
inferno 10 ABR 2020 a las 12:18 
Publicado originalmente por Lovelady:
♥♥♥♥ в рот вольво, спустя столько лет проблема до сих пор актуальна. И ни один из предложенных способов не помог.

-------
I ♥♥♥♥♥♥ Valve, after so many years the problem is still relevant. And none of the proposed methods helped.

мой способ работает, но нужно создавать задание для каждой игры на source.
76561198873806080 7 MAY 2020 a las 8:51 
Quite remarkable, this known and ubiquitous bug is celebrating its 10 year anniversary!
RAMOS PUTO 10 MAY 2020 a las 16:53 
Publicado originalmente por borschik:
Same problem. Appears on Windows 8.1, on Windows 8 everything was fine.
BackInFuture 6 AGO 2020 a las 11:45 
Publicado originalmente por inferno:
Publicado originalmente por Stone Cold Jane Austen:
Could you please share the script?

Edit for your keyboard layouts and make scheduler task to run for game.exe

Script is the only solution that works for me. It is a doable and silent solution, so, well done inferno. And I came up with a my own version of the script for PowerShell, that first sets your language to en-US and then resets it with languages and keyboard layouts that I used to have. To my mind the origin of the problem is that the source application summons a keyboard layout with no assosiated language. Addind and removing the correspoding language fixes it, either manually, or with the script below:
$2 = New-WinUserLanguageList -Language "en-US" $2[0].InputMethodTips.Clear() $2[0].InputMethodTips.Add('0409:00000409') $2[0].InputMethodTips.Add('0409:00020409') Set-WinUserLanguageList -LanguageList $2 -force $1 = New-WinUserLanguageList -Language "en-US" $1[0].InputMethodTips.Clear() $1[0].InputMethodTips.Add('0409:00000409') $1[0].InputMethodTips.Add('0xxx:00000xxx') $1.Add('fr-FR') $1[0].InputMethodTips.Add('0xxx:00000xxx') $1[0].InputMethodTips.Add('0xxx:00000xxx') Set-WinUserLanguageList -LanguageList $1 -force
To make it work you have to change languages codes (like en-US and fr-FR) to languages you need and the same to the keyboard layouts (like 0409:00000409). In here I set two languages, where each will have two keyboards respectively. Also, in case your source application summons a layouts that are different from en-US, you have to edit the first part of the script so the correspoding language and layout would be added. The codes for layouts and languages that you have now could be obtained with the command Get-WinUserLanguageList:
PS C:\> Get-WinUserLanguageList LanguageTag : en-US Autonym : English (United States) EnglishName : English (United States) LocalizedName : English (United States) ScriptName : Latin InputMethodTips : {0409:00000409} Handwriting : False
The tricky part for me is to make the script run upon the game start/exit. In case I would have to use tasks scheduler with a certain trigger. Seems I have to use "event" as a trigger, but idk what events are generated by Dota 2, L4D2 etc. I saw some solutions like execute a notepad along with a game, as notepad is easy to identify as a trigger, but didn't try it yet.
In case someone is interested in a more detailed step by step guide - hit me up, I'll try to make something up
Última edición por BackInFuture; 7 AGO 2020 a las 7:51
inferno 11 OCT 2020 a las 6:06 
Publicado originalmente por BackInFuture:
Publicado originalmente por inferno:


The tricky part for me is to make the script run upon the game start/exit. In case I would have to use tasks scheduler with a certain trigger. Seems I have to use "event" as a trigger, but idk what events are generated by Dota 2, L4D2 etc. I saw some solutions like execute a notepad along with a game, as notepad is easy to identify as a trigger, but didn't try it yet.
In case someone is interested in a more detailed step by step guide - hit me up, I'll try to make something up

you can use custom event XML to trigger when game.exe starts. here is example for apex legends. Not sure when exactly the game adds eng layout so I put 20 second delay after process execution

<QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and Task = 13312 and (band(Keywords,9007199254740992)) and (EventID=4688)]] and *[EventData[Data[@Name='NewProcessName'] and (Data='Z:\Apex Legends\Apex\r5apex.exe')]] </Select> </Query> </QueryList>


and if you run your ps1 script with something like this

command = "powershell.exe -nologo -command Z:\enusdel.ps1" set shell = CreateObject("WScript.Shell") shell.Run command,0

it will be completely silent :)
Última edición por inferno; 11 OCT 2020 a las 6:22
I tought only I have this bug or what
< >
Mostrando 91-105 de 152 comentarios
Por página: 1530 50