XINPUT_KEYSTROKE
介绍 XInputGetKeystroke 函数返回的击键数据。
语法
typedef struct XINPUT_KEYSTROKE {
WORD VirtualKey;
WCHAR Unicode;
WORD Flags;
BYTE UserIndex;
BYTE HidCode;
} XINPUT_KEYSTROKE
成员
VirtualKey
类型:WORD
键、按钮或摇杆移动的虚拟键代码。
Unicode
类型:WCHAR
该成员未使用并且其值为零。
Flags
类型:WORD
指示输入事件时的键盘状态的标志。 此成员可以是以下标志的任何组合:
值 | 说明 |
---|---|
XINPUT_KEYSTROKE_KEYDOWN | 键已按下。 |
XINPUT_KEYSTROKE_KEYUP | 键已释放。 |
XINPUT_KEYSTROKE_REPEAT | 持有的密钥的副本。 |
UserIndex
类型:BYTE
与头戴显示设备相关联的玩家的索引;介于 0 到 XUSER_MAX_COUNT - 1
之间的值。
HidCode
类型:BYTE
与输入对应的人机接口设备 (HID) 代码。 如果没有对应的 HID 代码,该值为零。
备注
此结构由 XInputGetKeystroke 函数使用。
将来的设备可能会返回在当前设备上不受支持并且此时未定义的 HID 代码和虚拟键值。 应用程序应忽略这些意外值。
虚拟键代码是一个字节值,表示键盘上的特定物理键,而不是可根据键盘状态将键映射到的单个字符或多个字符(可能没有)。 按下某个虚拟键时的键盘状态会修改所报告的字符。 例如,VK_4
可能表示"4" 或 "$",具体取决于 Shift 键的状态。
报告的键盘事件包括导致了事件的虚拟键、该键是否已按下或已释放(或正重复)以及事件发生时的键盘状态。 键盘状态包括 Ctrl、Alt 或 Shift 键是否被按下。
在 XInput.h 中定义了有效的虚拟键代码 (VK_xxx)。 除了指示键按下的代码外,以下代码还指示控制器输入:
值 | 说明 |
---|---|
VK_PAD_A | A 按钮 |
VK_PAD_B | B 按钮 |
VK_PAD_X | X 按钮 |
VK_PAD_Y | Y 按钮 |
VK_PAD_RSHOULDER | 右侧肩按钮 |
VK_PAD_LSHOULDER | 左侧肩按钮 |
VK_PAD_LTRIGGER | 左扳机键 |
VK_PAD_RTRIGGER | 右扳机键 |
VK_PAD_DPAD_UP | 方向键(向上) |
VK_PAD_DPAD_DOWN | 方向键(向下) |
VK_PAD_DPAD_LEFT | 方向键(向左) |
VK_PAD_DPAD_RIGHT | 方向键(向右) |
VK_PAD_START | “开始”按钮 |
VK_PAD_BACK | “后退”按钮 |
VK_PAD_LTHUMB_PRESS | 左摇杆单击 |
VK_PAD_RTHUMB_PRESS | 右摇杆单击 |
VK_PAD_LTHUMB_UP | 左操纵杆向上 |
VK_PAD_LTHUMB_DOWN | 左操纵杆向下 |
VK_PAD_LTHUMB_RIGHT | 左操纵杆向右 |
VK_PAD_LTHUMB_LEFT | 左操纵杆向左 |
VK_PAD_LTHUMB_UPLEFT | 左操纵杆向上和向左 |
VK_PAD_LTHUMB_UPRIGHT | 左操纵杆向上和向右 |
VK_PAD_LTHUMB_DOWNRIGHT | 左操纵杆向下和向右 |
VK_PAD_LTHUMB_DOWNLEFT | 左操纵杆向下和向左 |
VK_PAD_RTHUMB_UP | 右操纵杆向上 |
VK_PAD_RTHUMB_DOWN | 右操纵杆向下 |
VK_PAD_RTHUMB_RIGHT | 右操纵杆向右 |
VK_PAD_RTHUMB_LEFT | 右操纵杆向左 |
VK_PAD_RTHUMB_UPLEFT | 右操纵杆向上和向左 |
VK_PAD_RTHUMB_UPRIGHT | 右操纵杆向上和向右 |
VK_PAD_RTHUMB_DOWNRIGHT | 右操纵杆向下和向右 |
VK_PAD_RTHUMB_DOWNLEFT | 右操纵杆向下和向左 |
有关详细信息,请参阅 XInputOnGameInput 包装器。
要求
头文件:XInputOnGameInput.h
支持的平台:Xbox One 系列主机和 Xbox Series 主机