XINPUT_CAPABILITIES
描述连接的控制器的功能。
语法
typedef struct XINPUT_CAPABILITIES {
BYTE Type;
BYTE SubType;
WORD Flags;
XINPUT_GAMEPAD Gamepad;
XINPUT_VIBRATION Vibration;
} XINPUT_CAPABILITIES
成员
Type
类型:BYTE
控制器类型。 它必须是 XINPUT_DEVTYPE_GAMEPAD 类型,并且具有下表中列出的值之一。
SubType
类型:BYTE
游戏控制器的子类型。
允许的子类型:
子类型 | 含义 |
---|---|
XINPUT_DEVSUBTYPE_UNKNOWN | 未知。 控制器类型是未知的。 |
XINPUT_DEVSUBTYPE_GAMEPAD | 游戏板控制器。 包括左和右摇杆、左和右扳机键、方向键以及所有标准按钮:A、B、X、Y、START、BACK、LB、RB、LSB 和 RSB。 |
XINPUT_DEVSUBTYPE_WHEEL | 赛车方向控制器。 左摇杆 X 报告方向盘旋转,右扳机键是加速踏板,左扳机键是制动踏板。 包括方向键和大多数标准按钮:A、B、X、Y、START、BACK、LB 和 RB。 LSB 和 RSB 是可选的。 |
XINPUT_DEVSUBTYPE_ARCADE_STICK | 街机摇杆控制器。 包括一个报告为 DPAD 的数字摇杆(上、下、左和右)和大多数标准按钮:A、B、X、Y、START 和 BACK。 左和右扳机键以数字按钮的形式实现,报告 0 或 0xFF。 LB、LSB、RB 和 RSB 是可选的。 |
XINPUT_DEVSUBTYPE_FLIGHT_STICK | 飞行摇杆控制器。 包括俯仰和滚动摇杆(报告为左摇杆)、POV Hat(报告为右摇杆)、报告为左扳机键的方向舵(手柄扭转或摇杆)以及作为右扳机键的油门控件。 包括对主要武器 (A)、次要武器 (B) 和其他标准按钮 X、Y、START、和 BACK 的支持。 LB、LSB、RB 和 RSB 是可选的。 |
XINPUT_DEVSUBTYPE_DANCE_PAD | 跳舞垫控制器。 在垫上包括方向键和标准按钮(A、B、X 和 Y),以及 BACK 和 START。 |
XINPUT_DEVSUBTYPE_GUITAR XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE XINPUT_DEVSUBTYPE_GUITAR_BASS | 吉他控制器。 弹奏条映射到 DPAD(上和下),并且琴品分配给 A(绿色)、B(红色)、Y(黄色)、X(蓝色)和 LB(橙色)。 右摇杆 Y 与垂直方向传感器相关联,和右摇杆 X 是快速摇动摇棒。 包含对 BACK、START 和 DPAD(左、右)的支持。 左扳机键(拾取选择器)、右扳机键、RB、LSB(琴品修饰符)和 RSB 是可选的。 吉他低音与吉他相同,但具有用于简化设置的独特子类型。 吉他 Alt 支持垂直方向传感器的较大范围的移动。 |
XINPUT_DEVSUBTYPE_DRUM_KIT | 鼓控制器。 鼓垫已分配给按钮:A 表示绿色(落地鼓)、B 表示红色(军鼓)、X 表示蓝色(低音鼓)、Y 表示黄色(高音鼓)、LB 表示踏板(大鼓)。 包括方向键、BACK 和 START。 RB、LSB 和 RSB 是可选的。 |
XINPUT_DEVSUBTYPE_ARCADE_PAD | 街机盘控制器。 包括方向键和大多数标准按钮:A、B、X、Y、START、BACK、LB 和 RB。 左和右扳机键以数字按钮的形式实现,报告 0 或 0xFF。 左摇杆、右摇杆、LSB 和 RSB 是可选的。 |
Flags
类型:WORD
控制器的功能。
值 | 说明 |
---|---|
XINPUT_CAPS_VOICE_SUPPORTED | 设备具有集成的语音设备。 |
XINPUT_CAPS_FFB_SUPPORTED | 设备支持强制反馈功能。 此时,基于 Windows 的 XINPUT 目前不支持扳机键以外的力回馈功能。 |
XINPUT_CAPS_WIRELESS | 设备是无线的。 |
XINPUT_CAPS_PMD_SUPPORTED | 设备支持插件模块。 此时,基于 Windows 的 XINPUT 不支持文本输入设备 (TID) 之类的插件模块。 |
XINPUT_CAPS_NO_NAVIGATION | 设备缺少菜单导航按钮:START、BACK 和 DPAD。 |
Gamepad
类型:XINPUT_GAMEPAD
描述可用控制器功能和控制分辨率的 XINPUT_GAMEPAD 结构。
Vibration
类型:XINPUT_VIBRATION
描述可用振动功能和分辨率的 XINPUT_VIBRATION 结构。
备注
XInputGetCapabilities 返回 XINPUT_CAPABILITIES 以指示指定控制器的特性和可用功能。
XInputGetCapabilities 设置结构成员,以指示设备支持哪些输入。 对于二进制状态控件(如数字按钮),相应的位反映了设备是否支持该控件。 对于成比例的控件(如操纵杆),该值指示该控件的分辨率。 无法设置某个数量的最低有效位,这表明该控件不会向该级别提供分辨率。
SubType 成员指示存在特定子类型的控制器。 游戏可检测控制器子类型,并基于适合其游戏流派的子类型来调整其对控制器输入或输出的处理。 例如,赛车游戏可检查是否存在车轮控制器,以便更精确地控制所驱动的汽车。 但是,游戏不得基于其子类型禁用或忽略某一设备。 游戏未识别的子类型或未特别调整游戏的子类型应被视为标准游戏板,XINPUT_DEVSUBTYPE_GAMEPAD。
较旧的 XUSB Windows 驱动程序报告不完整的功能信息,尤其对于无线设备。 最新的 XUSB Windows 驱动程序提供对有线和无线设备的完全支持,并且提供更完整且更准确的功能标志。
要求
头文件:XInputOnGameInput.h
支持的平台:Xbox One 系列主机和 Xbox Series 主机