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


Структура JOYINFOEX (joystickapi.h)

Структура JOYINFOEX содержит расширенные сведения о положении джойстика, позиции точки зрения и состоянии кнопки.

Синтаксис

typedef struct joyinfoex_tag {
  DWORD dwSize;
  DWORD dwFlags;
  DWORD dwXpos;
  DWORD dwYpos;
  DWORD dwZpos;
  DWORD dwRpos;
  DWORD dwUpos;
  DWORD dwVpos;
  DWORD dwButtons;
  DWORD dwButtonNumber;
  DWORD dwPOV;
  DWORD dwReserved1;
  DWORD dwReserved2;
} JOYINFOEX, *PJOYINFOEX, *NPJOYINFOEX, *LPJOYINFOEX;

Члены

dwSize

Размер этой структуры в байтах.

dwFlags

Флаги, указывающие допустимые сведения, возвращаемые в этой структуре. Элементы, которые не содержат допустимые сведения, равны нулю. Определены следующие флаги:

Flag Описание
JOY_RETURNALL Эквивалентно настройке всех битов JOY_RETURN, кроме JOY_RETURNRAWDATA.
JOY_RETURNBUTTONS Элемент dwButtons содержит допустимые сведения о состоянии каждой кнопки джойстика.
JOY_RETURNCENTERED Центрирует нейтральную позицию джойстика до среднего значения каждой оси движения.
JOY_RETURNPOV Элемент dwPOV содержит допустимые сведения об элементе управления точки зрения, выраженные в дискретных единицах.
JOY_RETURNPOVCTS Элемент dwPOV содержит достоверные сведения об элементе управления точки зрения, выраженные в непрерывных единицах измерения сотой степени.
JOY_RETURNR Элемент dwRpos содержит допустимые данные о педали руля. Эти сведения представляют другую (четвертую) ось.
JOY_RETURNRAWDATA Данные, хранящиеся в этой структуре, — это показания джойстика без масштабирования.
JOY_RETURNU Элемент dwUpos содержит допустимые данные для пятой оси джойстика, если такая ось доступна, или возвращает ноль в противном случае.
JOY_RETURNV Элемент dwVpos содержит допустимые данные для шестой оси джойстика, если такая ось доступна, или возвращает ноль в противном случае.
JOY_RETURNX Элемент dwXpos содержит допустимые данные для координаты X джойстика.
JOY_RETURNY Элемент dwYpos содержит допустимые данные для координаты Y джойстика.
JOY_RETURNZ Элемент dwZpos содержит допустимые данные для Z-координаты джойстика.
 

Следующие флаги предоставляют данные для калибровки джойстика и предназначены для пользовательских приложений калибровки.

Flag Описание
JOY_CAL_READ3 Считывает координаты x, y и z и сохраняет необработанные значения в dwXpos, dwYpos и dwZpos.
JOY_CAL_READ4 Чтение сведений о руле, координатах x, y и z, а также сохранение необработанных значений в dwXpos, dwYpos, dwZpos и dwRpos.
JOY_CAL_READ5 Чтение сведений о руле и координатах x, y, z и you, а также сохранение необработанных значений в dwXpos, dwYpos, dwZpos, dwRpos и dwUpos.
JOY_CAL_READ6 Считывает необработанные данные оси v, если присутствует мини-драйвер джойстика, который предоставит данные. В противном случае возвращает ноль.
JOY_CAL_READALWAYS Считывает порт джойстика, даже если драйвер не обнаруживает устройство.
JOY_CAL_READRONLY Считайте сведения о руле, если присутствует мини-драйвер джойстика, который предоставит данные и сохранит необработанное значение в dwRpos. В противном случае возвращается ноль.
JOY_CAL_READXONLY Считайте координату X и сохраните необработанное (некалибрированное) значение в dwXpos.
JOY_CAL_READXYONLY Считывает координаты X и Y и помещает необработанные значения в dwXpos и dwYpos.
JOY_CAL_READYONLY Считывает координату Y и сохраняет необработанное значение в dwYpos.
JOY_CAL_READZONLY Считайте координату z и сохраните необработанное значение в dwZpos.
JOY_CAL_READUONLY Считайте u-координату, если присутствует мини-драйвер джойстика, который предоставит данные и сохранит необработанное значение в dwUpos. В противном случае возвращается ноль.
JOY_CAL_READVONLY Считайте v-координату, если присутствует мини-драйвер джойстика, который предоставляет данные и сохраняет необработанное значение в dwVpos. В противном случае возвращается ноль.

dwXpos

Текущая координата X.

dwYpos

Текущая координата Y.

dwZpos

Текущая Z-координата.

dwRpos

Текущее положение руля или четвертой оси джойстика.

dwUpos

Текущее положение пятой оси.

dwVpos

Текущее положение шестой оси.

dwButtons

Текущее состояние 32 кнопок джойстика. Для этого элемента можно задать любое сочетание флагов JOY_BUTTON n , где n — это значение в диапазоне от 1 до 32, соответствующее нажатой кнопке.

dwButtonNumber

Текущий нажатой кнопки.

dwPOV

Текущее положение элемента управления "точка зрения". Значения этого элемента находятся в диапазоне от 0 до 35 900. Эти значения представляют угол каждого представления в градусах, умноженный на 100.

dwReserved1

Защищены; не использовать.

dwReserved2

Защищены; не использовать.

Комментарии

Значение члена dwSize также используется для идентификации номера версии структуры при его передаче в функцию joyGetPosEx .

Большинство устройств с элементом управления "точка зрения" имеют только пять позиций. При установке флага JOY_RETURNPOV эти позиции передаются с помощью следующих констант:

Флаг точки зрения Описание
JOY_POVBACKWARD Шляпа точки зрения нажата назад. Значение 18 000 представляет ориентацию 180,00 градусов (сзади).
JOY_POVCENTERED Шляпа точки зрения находится в нейтральном положении. Значение -1 означает, что точка обзора не имеет угла для отчета.
JOY_POVFORWARD Шляпа точки зрения нажата вперед. Значение 0 представляет ориентацию 0,00 градуса (прямо вперед).
JOY_POVLEFT Шляпа точки зрения прижимается влево. Значение 27 000 представляет ориентацию 270,00 градусов (90,00 градусов слева).
JOY_POVRIGHT Шляпа точки зрения нажата вправо. Значение 9000 представляет ориентацию 90,00 градусов (справа).
 

Драйвер джойстика по умолчанию в настоящее время поддерживает эти пять дискретных направлений. Если приложение может принимать только определенные значения точки зрения, оно должно использовать флаг JOY_RETURNPOV. Если приложение может принимать другие показания степени, оно должно использовать флаг JOY_RETURNPOVCTS для получения непрерывных данных, если они доступны. Флаг JOY_RETURNPOVCTS также поддерживает константы JOY_POV, используемые с флагом JOY_RETURNPOV.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть joystickapi.h (включая Windows.h)

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

Джойстики

Структуры мультимедийного джойстика

joyGetPosEx