XINPUT_CAPABILITIES 结构 (xinput.h)

描述连接的控制器的功能。 XInputGetCapabilities 函数返回XINPUT_CAPABILITIES

语法

typedef struct _XINPUT_CAPABILITIES {
  BYTE             Type;
  BYTE             SubType;
  WORD             Flags;
  XINPUT_GAMEPAD   Gamepad;
  XINPUT_VIBRATION Vibration;
} XINPUT_CAPABILITIES, *PXINPUT_CAPABILITIES;

成员

Type

控制器类型。 必须是以下值之一。

说明
XINPUT_DEVTYPE_GAMEPAD 设备是游戏控制器。 

SubType

游戏控制器的子类型。 有关允许 的子类型列表,请参阅 XINPUT 和控制器 子类型。

注意 有关使用此子类型值的限制,请参阅备注。 将来可能会添加更多子类型。
 

Flags

控制器的功能。

说明
XINPUT_CAPS_VOICE_SUPPORTED 设备具有集成的语音设备。
XINPUT_CAPS_FFB_SUPPORTED 设备支持力回馈功能。 请注意,Windows 上的 XINPUT 当前不支持这些超出隆隆声的力回馈功能。
XINPUT_CAPS_WIRELESS 设备是无线的。
XINPUT_CAPS_PMD_SUPPORTED 设备支持插件模块。 请注意,Windows 上的 XINPUT 目前不支持文本输入设备 (TID) 等插件模块。
XINPUT_CAPS_NO_NAVIGATION 设备缺少菜单导航按钮, (“开始”、“后退”、“DPAD”) 。

Gamepad

描述可用控制器功能和控制分辨率的XINPUT_GAMEPAD结构。

Vibration

XINPUT_VIBRATION 描述可用振动功能和分辨率的结构。

注解

XInputGetCapabilities 返回 XINPUT_CAPABILITIES 以指示指定控制器的特征和可用功能。

XInputGetCapabilities 设置结构成员以指示设备支持的输入。 对于二进制状态控件(如数字按钮),相应的位反映设备是否支持该控件。 对于比例控件(如操纵杆),值指示该控件的分辨率。 可能未设置一些最低有效位数,表示控件不提供该级别的分辨率。

SubType 成员指示存在的控制器的特定子类型。 游戏可能会检测控制器子类型,并根据非常适合其游戏类型的子类型来优化控制器输入或输出的处理。 例如,赛车游戏可能会检查轮控制器的存在,以便更精细地控制驾驶的汽车。 但是,游戏不得根据其子类型禁用或忽略设备。 游戏无法识别或游戏未专门调整的子类型应被视为标准控制器 (XINPUT_DEVSUBTYPE_GAMEPAD) 。

较旧的 XUSB Windows 驱动程序报告功能信息不完整,尤其是对于无线设备。 最新的 XUSB Windows 驱动程序提供对有线和无线设备的完全支持,以及更完整、更准确的功能标志。

要求

要求
Header xinput.h

另请参阅

XINPUT_GAMEPAD

XINPUT_VIBRATION

XInput 结构

XInputGetCapabilities