0

此页面有一个击键列表及其对应的扫描码。我对此感到困惑。我注意到每个扫描码都以 NUL 字符开头。这是否意味着当输入流接收到 NUL 字符时,这意味着将下一个字节解释为扫描码?另外,我很好奇什么平台使用这些,因为它们似乎没有在 Unix 系统上使用。在我的系统上,如果我想编写一个识别箭头键的程序,我只需为这些键使用三字节 UTF-8 代码。

4

1 回答 1

2

扫描码是键盘中的微处理器向计算机发送的值(您的键盘中有一台小型计算机)。它与ASCII无关。它是一个两字节代码,然后系统将其转换为 ASCII 或任何它想做的事情。它独立于 ASCII。

这就是游戏等特殊键盘如何具有单键键以及计算机如何使用 Fn+特殊键等调节亮度/对比度、音量等。

例如,当您按下 Caps-Lock 时,扫描代码会发送到计算机,并且只有当计算机确认它时,键盘中的 MPU 才会打开 Caps-Lock 灯 (LED)(酷,什么?)

在 1980 年代初期的家用电脑热潮中,IBM 的主要优势在于他们设计了可扩展的电脑(如您所见,这是迄今为止流行的出色设计 - 意见和英国创新奖)。信不信由你,这是我在 1988 年为获得“资格”而必须完成的微处理器设计技术文凭期末考试中提出的问题之一。

您可以尝试通过以下方式直接在键盘上输入扫描码:

  1. 启动记事本或文本编辑器(vi 等)。
  2. 按 Alt,同时按住 Alt,在数字键盘上键入 0,6,5(不带逗号)。将显示字母 A。执行 Alt + 008 将删除 A(退格键)。

相信这会有所帮助。

于 2018-03-20T20:31:24.620 回答