如何在Windows控制台CMD或WSL中更改键盘布局?

3
当我在Windows 10中打开CMD时,键盘布局错误。 WSL(bash)也是一样。
当使用powershell时,它显示正确的键盘布局。
这是在标准美国键盘布局下按;键时的截图。
我不知道如何更改它,在控制台的设置中没有任何选项。

Wrong keyboard

编辑:

这是命令的结果:

Get-WinUserLanguageList | Format-Table -Property LanguageTag, InputMethodTips

Get-WinUserLanguageList | Format-Table -Property LanguageTag, InputMethodTips

LanguageTag InputMethodTips
----------- ---------------
en-US       {0409:00000409}
es-MX       {080A:0000080A}

这是在cmd和powershell中运行chcp命令的结果: 活动代码页:850 我尝试了chcp 437,但像@IoCalisto建议的那样没有起作用。 已解决 当关闭autohotkey时,问题消失了。
由于某些映射的原因,autohotkey与CMD或WSL无法正常工作。

这个布局将分号放在拉丁小写字母L的右边?同时阅读《键盘扫描码》文章。 - JosefZ
请编辑问题并添加Get-WinUserLanguageList | Format-Table -Property LanguageTag, InputMethodTips的输出。 - JosefZ
3个回答

4

将键盘布局更改为阿拉伯语:

Set-WinUserLanguageList -LanguageList  ar-eg, en-US -force

更改键盘布局为英语:

Set-WinUserLanguageList -LanguageList  en-US, ar-EG -force

0
在我的情况下,解决方案是通过 PowerShell 启动 wsl(只需在其中键入 wsl),因为它可以成功检测键盘布局。

-1
这可能是代码页号的问题吗? 尝试在命令行中键入chcp(不带参数),查看返回的内容(美国的代码页号为437)。 要设置代码页号,请键入chcp,然后输入您想要使用的CPN 例如:
chcp 437

据我所知,所有的Windows代码页编号都可以在此找到:

https://en.wikipedia.org/wiki/Windows_code_page

希望这能有所帮助。

1
@lalo 我可以问一下你的系统是用什么语言吗?你可以尝试将winCPN更改为你的本地语言,或者尝试找到来自你所在地区的键盘。另一个建议是前往SO的Autohotkey部分,学习有关键盘重新映射的知识。 - IoCalisto
1
@lalo 还有,CPN粘上去了吗?还是又换成850了? - IoCalisto
我使用了chcp 437并确认它保持为437,但是分号仍然给我<。然而,我找到了答案。 当我关闭autohotkey时,问题消失了。奇怪的是CMD不能与autohotkey正常工作! - lalo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接