Windows 自行添加其他键盘语言

Windows 自行添加其他键盘语言

Win7 添加随机键盘语言布局时我遇到了一个非常烦人的问题...我使用瑞典语和日语,因为我住在日本,我只使用这两种语言(因为我可以在瑞典语键盘上毫无问题地写出所有英文字符)

但是,当我使用“Alt+左 Shift”在它们之间切换时,列表中有时会出现第三种甚至第四种新语言。当我打开设置时,它们没有,我再说一遍,没有列在那里。但是,当我按下快捷键在它们之间切换时,它们会被选中。

我希望解决这个问题,因为当我进行两次对话(例如日语和英语/瑞典语)时,这非常烦人。

如果有人有任何想法,请告诉我!

答案1

我遇到过完全相同的问题。这似乎是由新安装的软件引起的。它可能是 .Net Frameworks 或其他可能使用英语作为默认语言的东西。尝试卸载问题发生前安装的程序。如果这没有帮助,请尝试将系统恢复到以前的状态。

编辑

另外,我刚刚想到了一个聪明的解决方案。如果您从列表中删除瑞典语,然后添加英语或任何即将出现的语言,并将键盘布局更改为瑞典语,然后查看其他语言默认使用哪种布局(例如,英语可能采用美国布局),并将其添加到键盘列表中。然后将瑞典语移到可用语言列表的顶部,即可享受修复。

答案2

寻找如何通过自动化解决此问题的答案:Windows 7 在哪里存储切换的输入语言

到目前为止,暴力破解方法是:Autohotkey 脚本。这不是最佳方法,但可以完成工作:

^+!l::
Run, Control input.dll
Sleep, 1000
Send {Tab}{Tab}
Sleep, 100
Send {Enter}
Sleep, 1000
Send e
Sleep, 100
Send {Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}{Down}
Sleep, 100
Send {Right}{Down}{Right}US{Space}{Enter}
Sleep, 100
Send {Tab}{Tab}{Tab}
Sleep, 100
Send {Enter}
Sleep, 1000
Send {Tab}{PgDn}{PgDn}{PgDn}
Send {Tab}{Tab}{Enter}
Sleep, 100
Send A
Sleep, 100
Send {Enter}
return

基本上,当你开始遇到错误时,按下 Ctrl+Shift+Alt+L 即可修复 - 添加英语(美国)并将其删除。可能需要调整等待值,也可能需要调整 Down 的数量 - 我不知道每台计算机上的语言列表是否相同(也许它也会随着时间而变化)。

答案3

我有一个比 Autohotkey 更好的解决方案。创建一个.bat包含以下内容的文件:

control intl.cpl,, /f:"LangAdd.xml"
control intl.cpl,, /f:"LangRemove.xml"

以及相应的 xml 文件如下:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<gs:UserList>
<gs:User UserID="Current"/> 
</gs:UserList>
<gs:InputPreferences> 
<gs:InputLanguageID Action="add" ID="0409:00000409"/> 
</gs:InputPreferences> 
</gs:GlobalizationServices>

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<gs:UserList>
<gs:User UserID="Current"/> 
</gs:UserList>
<gs:InputPreferences> 
<gs:InputLanguageID Action="remove" ID="0409:00000409"/> 
</gs:InputPreferences> 
</gs:GlobalizationServices>

409 是 en-US 的语言。将其更改为有问题的语言代码来自此列表。如果您愿意,可以为该 bat 文件的快捷方式分配键盘快捷键,也可以在快捷方式首选项中选择运行:最小化,以避免窗口闪烁。

相关内容