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

指示在此结构中返回的有效信息的标志。 不包含有效信息的成员设置为零。 定义了以下标志:

标志 描述
JOY_RETURNALL 等效于设置除JOY_RETURNRAWDATA以外的所有JOY_RETURN位。
JOY_RETURNBUTTONS dwButtons 成员包含有关每个游戏杆按钮状态的有效信息。
JOY_RETURNCENTERED 将游戏杆中性位置居中到每个移动轴的中间值。
JOY_RETURNPOV dwPOV 成员包含有关视图控件的有效信息,以离散单位表示。
JOY_RETURNPOVCTS dwPOV 成员包含有关以连续的百度单位表示的视图控件的有效信息。
JOY_RETURNR dwRpos 成员包含有效的 rudder 踏板数据。 此信息表示另一个 (第四个) 轴。
JOY_RETURNRAWDATA 此结构中存储的数据是未校准游戏杆读数。
JOY_RETURNU 如果游戏杆的第五个轴可用, 则 dwUpos 成员包含有效数据,否则返回零。
JOY_RETURNV dwVpos 成员包含游戏杆的第六个轴的有效数据(如果此类轴可用),否则返回零。
JOY_RETURNX dwXpos 成员包含游戏杆 x 坐标的有效数据。
JOY_RETURNY dwYpos 成员包含游戏杆的 y 坐标的有效数据。
JOY_RETURNZ dwZpos 成员包含游戏杆 z 坐标的有效数据。
 

以下标志提供用于校准游戏杆的数据,适用于自定义校准应用程序。

标志 描述
JOY_CAL_READ3 读取 x、y 和 z 坐标,并将原始值存储在 dwXposdwYposdwZpos 中。
JOY_CAL_READ4 读取 rudder 信息以及 x、y 和 z 坐标,并将原始值存储在 dwXposdwYposdwZposdwRpos 中。
JOY_CAL_READ5 读取 rudder 信息以及 x、y-、z 和 you-坐标,并将原始值存储在 dwXposdwYposdwZposdwRposdwUpos 中
JOY_CAL_READ6 如果存在提供数据的游戏杆微型驱动程序,则读取原始 V 轴数据。 否则返回零。
JOY_CAL_READALWAYS 即使驱动程序未检测到设备,也读取游戏杆端口。
JOY_CAL_READRONLY 如果存在提供数据并将原始值存储在 dwRpos 中的游戏杆微型驱动程序,请阅读 rudder 信息。 否则返回零。
JOY_CAL_READXONLY 读取 x 坐标并将原始 (未校准) 值存储在 dwXpos 中。
JOY_CAL_READXYONLY 读取 x 和 y 坐标,并将原始值放在 dwXposdwYpos 中。
JOY_CAL_READYONLY 读取 y 坐标并将原始值存储在 dwYpos 中。
JOY_CAL_READZONLY 读取 z 坐标并将原始值存储在 dwZpos 中。
JOY_CAL_READUONLY 如果存在提供数据并将原始值存储在 dwUpos 中的游戏杆微型驱动程序,请阅读 u 坐标。 否则返回零。
JOY_CAL_READVONLY 如果存在提供数据并将原始值存储在 dwVpos 中的游戏杆微型驱动程序,请阅读 v 坐标。 否则返回零。

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 视点帽向右按下。 值 9,000 表示向右) (90.00 度的方向。
 

默认游戏杆驱动程序当前支持这五个离散方向。 如果应用程序只能接受定义的视图点值,则必须使用 JOY_RETURNPOV 标志。 如果应用程序可以接受其他学位读数,则应使用 JOY_RETURNPOVCTS 标志获取连续数据(如果可用)。 JOY_RETURNPOVCTS标志还支持与 JOY_RETURNPOV 标志一起使用的JOY_POV常量。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 joystickapi.h (包括 Windows.h)

另请参阅

操纵 杆

多媒体游戏杆结构

joyGetPosEx