Specifies keystroke data returned by XInputGetKeystroke.
typedef struct _XINPUT_KEYSTROKE { WORD VirtualKey; WCHAR Unicode; WORD Flags; BYTE UserIndex; BYTE HidCode; } XINPUT_KEYSTROKE, *PXINPUT_KEYSTROKE;
Value | Description |
---|---|
XINPUT_KEYSTROKE_KEYDOWN | The key was pressed. |
XINPUT_KEYSTROKE_KEYUP | The key was released. |
XINPUT_KEYSTROKE_REPEAT | A repeat of a held key. |
XINPUT_KEYSTROKE_ALT | The left or right ALT key is down. |
XINPUT_KEYSTROKE_CTRL | The left or right CTRL key is down. |
XINPUT_KEYSTROKE_SHIFT | The left or right SHIFT key is down. |
XINPUT_KEYSTROKE_REMOTE | The key is from the infrared remote. |
A virtual-key code is a byte value that represents a particular physical key on the keyboard, not the character or characters (possibly none) that the key can be mapped to based on keyboard state. The keyboard state at the time a virtual key is pressed modifies the character reported. For example, VK_4 might represent a "4" or a "$", depending on the state of the SHIFT key.
A reported keyboard event includes the virtual key that caused the event, whether the key was pressed or released (or is repeating), and the state of the keyboard at the time of the event. The keyboard state includes information about whether any CTRL, ALT, or SHIFT keys are down.
If the keyboard event represents an Unicode character (for example, pressing the "A" key), the Unicode member will contain that character. Otherwise, Unicode will contain the value zero.
The valid virtual-key (VK_xxx) codes are defined in xam.h. In addition to codes that indicate key presses, the following codes indicate controller input.
Value | Description |
---|---|
VK_PAD_A | A button |
VK_PAD_B | B button |
VK_PAD_X | X button |
VK_PAD_Y | Y button |
VK_PAD_RSHOULDER | Right shoulder button |
VK_PAD_LSHOULDER | Left shoulder button |
VK_PAD_LTRIGGER | Left trigger |
VK_PAD_RTRIGGER | Right trigger |
VK_PAD_DPAD_UP | Directional pad up |
VK_PAD_DPAD_DOWN | Directional pad down |
VK_PAD_DPAD_LEFT | Directional pad left |
VK_PAD_DPAD_RIGHT | Directional pad right |
VK_PAD_START | START button |
VK_PAD_BACK | BACK button |
VK_PAD_LTHUMB_PRESS | Left thumbstick click |
VK_PAD_RTHUMB_PRESS | Right thumbstick click |
VK_PAD_LTHUMB_UP | Left thumbstick up |
VK_PAD_LTHUMB_DOWN | Left thumbstick down |
VK_PAD_LTHUMB_RIGHT | Left thumbstick right |
VK_PAD_LTHUMB_LEFT | Left thumbstick left |
VK_PAD_LTHUMB_UPLEFT | Left thumbstick up and left |
VK_PAD_LTHUMB_UPRIGHT | Left thumbstick up and right |
VK_PAD_LTHUMB_DOWNRIGHT | Left thumbstick down and right |
VK_PAD_LTHUMB_DOWNLEFT | Left thumbstick down and left |
VK_PAD_RTHUMB_UP | Right thumbstick up |
VK_PAD_RTHUMB_DOWN | Right thumbstick down |
VK_PAD_RTHUMB_RIGHT | Right thumbstick right |
VK_PAD_RTHUMB_LEFT | Right thumbstick left |
VK_PAD_RTHUMB_UPLEFT | Right thumbstick up and left |
VK_PAD_RTHUMB_UPRIGHT | Right thumbstick up and right |
VK_PAD_RTHUMB_DOWNRIGHT | Right thumbstick down and right |
VK_PAD_RTHUMB_DOWNLEFT | Right thumbstick down and left |
Header: Declared in Xbox.h, for include use Xtl.h.
Import Library: Use Xapilib.lib.