键盘按下如何导致不同的字符,具体取决于布局

问题描述 投票:0回答:1

感谢您抽出宝贵时间来研究这个问题。

如果你按键盘上的'y'键,我的理解是,UTF-8键码通过USB发送,对应'y'键。即0x79十六进制。

然后由计算机将其解释为字母“y”并作为击键发送到活动窗口。

我的问题是,当你将美国键盘插入德国计算机时,按'y'键会导致字母'z'被发送到活动窗口。

现在在德国键盘上,字母“z”位于美国键盘上“y”键所在的位置。但是,如果每个字符都有一个与之关联的唯一UTF-8代码,那么按下'y'键将生成'y'键码(0x79),这将被计算机解释为'y'。当然键盘上键的位置无关紧要?

我认为必须在某些时候进行相互转换以考虑不同的布局。这种相互转换是如何以及在什么时候发生的,是由键盘上的微控制器还是在接收到密钥代码时由计算机完成的?

如果有问题,请随时指出上述问题中存在的任何更广泛的误解。

非常感谢你的时间。

utf-8 keyboard keystroke keyboard-layout keystrokes
1个回答
1
投票

您的计算机可以识别一些事项,首先是您的键盘布局,通常会询问(例如在安装期间在Ubuntu中)或默认键盘驱动程序自动检测(例如在Windows中)。第二种是系统语言,首选语言或键盘语言,具体取决于操作系统中的调用。

当您插入英语键盘时,系统会将其识别为英语键盘,并会查找您选择的语言并相应地映射键。我输入英文和阿拉伯语,键盘布局完全不同,我所做的只是从任务栏中我的键盘图标中选择我现在要输入阿拉伯语,系统仍然使用我的英文键盘但使用阿拉伯语键盘图。

希望这能解释它!

© www.soinside.com 2019 - 2024. All rights reserved.