Поделиться через


структура 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.

Если событие клавиатуры представляет символ Юникода (например, нажатие клавиши "A"), элемент Юникода будет содержать этот символ. В противном случае Юникод будет содержать нулевое значение.

Допустимые коды виртуального ключа (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 Правый палец вниз и влево

Требования

Требование Значение
Заголовок xinput.h

См. также раздел

XInputGetKeystroke