菜单

kaoqi
kaoqi
发布于 2026-09-07 / 6 阅读
0
0

UEFI的键盘KEY解析

对UEFI的INPUT函数来说,主要目标是在事件发生时,捕捉并以下面这个方式解析对应unicode出来:

typedef struct {
 UINT16                             ScanCode;
 CHAR16                             UnicodeChar;
} EFI_INPUT_KEY;

这里的unicodeChar就是直接的字母编码。当ScanCode为0时,说明就是字符类型的unicode,直接就可以当字符用。当ScanCode不为0时,需要根据如下各个表展开解析。

ScanCode对应关系:

具体到实际USB键盘,还有一层关系是需要从HID事件中的HID码描述,转换为ScanCode与Unicode这组数值。

Unicode码的编码表可以参考:

这里罗列一些具体的:


评论