KEYBOARD_EXTENDED_ATTRIBUTES 结构 (ntddkbd.h)

KEYBOARD_EXTENDED_ATTRIBUTES指定键盘的扩展属性。

语法

typedef struct _KEYBOARD_EXTENDED_ATTRIBUTES {
  UCHAR Version;
  UCHAR FormFactor;
  UCHAR KeyType;
  UCHAR PhysicalLayout;
  UCHAR VendorSpecificPhysicalLayout;
  UCHAR IETFLanguageTagIndex;
  UCHAR ImplementedInputAssistControls;
} KEYBOARD_EXTENDED_ATTRIBUTES, *PKEYBOARD_EXTENDED_ATTRIBUTES;

成员

Version

类型: UCHAR

此结构的版本。

支持KEYBOARD_EXTENDED_ATTRIBUTES_STRUCT_VERSION_1

FormFactor

类型: UCHAR

键盘外形规格 (用法 ID: 0x2C1) 。

说明
0x00 未知外形规格。
0x01 全尺寸键盘。
0x02 紧凑键盘。 此类键盘宽度小于 13 英寸。

KeyType

类型: UCHAR

键盘键类型 (用法 ID: 0x2C2) 。

说明
0x00 未知的密钥类型。
0x01 完整移动密钥。
0x02 低行程键,如笔记本电脑键盘上的键。
0x03 零移动或虚拟密钥。

PhysicalLayout

类型: UCHAR

键盘物理布局 (用法 ID: 0x2C3) 。

说明
0x00 未知布局
0x01 101 (例如 US)
0x02 103 (韩国)
0x03 102 (,例如德语)
0x04 104 (例如 ABNT Brazil)
0x05 106 (DOS/V 日本)
0x06 供应商特定 – 如果指定,还必须指定 VendorSpecificPhysicalLayout

此值不引用在键上打印的图例集,而仅指物理键集布局,由文本键的相对位置和形状相对于彼此定义。 此值指示键盘符合的实际标准物理布局。 通常可以理解这些布局。

VendorSpecificPhysicalLayout

类型: UCHAR

特定供应商特定键盘物理布局的数字标识符 (用法 ID: 0x2C4) 。

此字段的值由硬件供应商定义,但0x00定义为不指定供应商特定的键盘物理布局。 如果不是零, 则 PhysicalLayout 的值必须 0x06。 如果此标识符 0x00则 PhysicalLayout 不得将值0x06。

IETFLanguageTagIndex

类型: UCHAR

具有 IETF 语言标记的字符串描述符的字符串索引 (用法 ID:0x2C5) 。

可以通过内核模式驱动程序 中的 IOCTL_HID_GET_INDEXED_STRING IOCTL 或在用户模式应用程序中 HidD_GetIndexedString 调用来获取实际字符串。

此语言标记指定键盘图例集的预期主区域设置,符合 IETF BCP 47 或其后续语言。

如果相应的 IETF 语言标记不可用(例如,对于自定义、自适应或新布局),则该值设置为 0x00。

ImplementedInputAssistControls

类型: UCHAR

物理实现的输入辅助控件的位图。 (使用情况 ID: 0x2C6) 。

bit 说明
全部 0 未实现键盘输入助手控件。
位 0 以前的建议
位 1 下一个建议
位 2 上一个建议组
位 3 下一个建议组
位 4 接受建议
位 5 取消建议
所有其他保留位。

注解

此结构与 IOCTL_KEYBOARD_QUERY_EXTENDED_ATTRIBUTES 请求一起使用,以返回有关键盘支持的扩展属性的信息。

此信息来自 HID 使用情况表查看请求 42:使用者页面键盘辅助控件中所述的 HID 键盘报告描述符。

要求

要求
Header ntddkbd.h (包括 Ntddkbd.h)

另请参阅

IOCTL_KEYBOARD_QUERY_EXTENDED_ATTRIBUTES

IOCTL_KEYBOARD_QUERY_ATTRIBUTES

HID 使用情况表查看请求 42:使用者页面键盘辅助控件