Структура 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) |
См. также раздел
Джойстики
Структуры мультимедийного джойстика