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 坐标,并将原始值存储在 dwXpos、 dwYpos 和 dwZpos 中。 |
JOY_CAL_READ4 | 读取 rudder 信息以及 x、y 和 z 坐标,并将原始值存储在 dwXpos、 dwYpos、 dwZpos 和 dwRpos 中。 |
JOY_CAL_READ5 | 读取 rudder 信息以及 x、y-、z 和 you-坐标,并将原始值存储在 dwXpos、 dwYpos、 dwZpos、 dwRpos 和 dwUpos 中。 |
JOY_CAL_READ6 | 如果存在提供数据的游戏杆微型驱动程序,则读取原始 V 轴数据。 否则返回零。 |
JOY_CAL_READALWAYS | 即使驱动程序未检测到设备,也读取游戏杆端口。 |
JOY_CAL_READRONLY | 如果存在提供数据并将原始值存储在 dwRpos 中的游戏杆微型驱动程序,请阅读 rudder 信息。 否则返回零。 |
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 | 如果存在提供数据并将原始值存储在 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) |
另请参阅
操纵 杆
多媒体游戏杆结构