XINPUT_KEYSTROKE 结构 (xinput.h)

指定 XInputGetKeystroke 返回的击键数据。

语法

typedef struct _XINPUT_KEYSTROKE {
  WORD  VirtualKey;
  WCHAR Unicode;
  WORD  Flags;
  BYTE  UserIndex;
  BYTE  HidCode;
} XINPUT_KEYSTROKE, *PXINPUT_KEYSTROKE;

成员

VirtualKey

键、按钮或摇杆移动的虚拟键代码。 有关有效虚拟密钥 (VK_xxx) 代码的列表,请参阅 XInput.h。 另请参阅备注。

Unicode

此成员未使用,值为零。

Flags

指示输入事件时键盘状态的标志。 此成员可以是以下标志的任意组合:

说明
XINPUT_KEYSTROKE_KEYDOWN 已按下该键。 
XINPUT_KEYSTROKE_KEYUP 密钥已释放。 
XINPUT_KEYSTROKE_REPEAT 保留密钥的重复。 

UserIndex

与设备关联的已登录玩家的索引。 可以是 0-3 范围内的值。

HidCode

对应于输入的 HID 代码。 如果没有相应的 HID 代码,则此值为零。

注解

将来的设备可能会返回当前设备上不支持且当前未定义的 HID 代码和虚拟密钥值。 应用程序应忽略这些意外值。

虚拟键代码是一个字节值,表示键盘上的特定物理键,而不是字符 (可能没有) 键可以基于键盘状态映射到。 按下虚拟键时的键盘状态会修改报告的字符。 例如,VK_4可能表示“4”或“$”,具体取决于 SHIFT 键的状态。

报告的键盘事件包括导致该事件的虚拟键、键是按下或释放 (还是重复) ,以及事件发生时键盘的状态。 键盘状态包括有关任何 CTRL、ALT 或 SHIFT 键是否关闭的信息。

例如,如果键盘事件表示 Unicode 字符 (按“A”键) , 则 Unicode 成员将包含该字符。 否则, Unicode 将包含值零。

有效的虚拟密钥 (VK_xxx) 代码在 XInput.h 中定义。 除了指示按键的代码外,以下代码还指示控制器输入。

说明
VK_PAD_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 右操纵杆向下和向左

要求

要求
Header xinput.h

另请参阅

XInputGetKeystroke