代表输入设备。 此接口中的方法可用于识别游戏输入设备并且与游戏输入设备进行交互。 您可以查询与设备有关的信息,例如其类型、功能和电池状态。 您还可以激活某些设备特定的硬件,例如触觉回馈和力回馈。
语法
class IGameInputDevice : public IUnknown
方法
| 方法 | 说明 |
|---|---|
| CreateForceFeedbackEffect | 利用 IGameInputForceFeedbackEffect 接口跟踪马达上的力回馈效果。 |
| DirectInputEscape | 将特定于硬件的命令发送到强制反馈驱动程序。 |
| GetDeviceInfo | 提供有关输入设备的完整属性和功能的静态信息。 |
| GetHapticInfo | 提供有关输入设备的完整触觉属性和功能的动态信息。 |
| GetDeviceStatus | 获取输入设备的当前状态。 |
| IsForceFeedbackMotorPoweredOn | 显示是否打开了特定的力回馈马达。 |
| SetForceFeedbackMotorGain | 为电机上的所有加载效果设置全局衰减因子。 |
| SetRumbleState | 调整设备上四个隆隆电机的所需强度。 |
| CreateInputMapper | 创建一个 IGameInputMapper 接口,该接口为输入类型中的给定输入元素提供映射信息。 |
| GetExtraAxisCount | 获取设备中给定输入类型的额外轴或非映射轴的数目。 |
| GetExtraButtonCount | 获取给定输入类型的设备中存在的额外按钮或不受支持按钮的数量。 |
| GetExtraAxisIndexes | 获取设备上给定输入类型的额外轴的控制器轴索引。 |
| GetExtraButtonIndexes | 获取设备上给定输入类型的额外按钮的控制器按钮索引。 |
| CreateRawDeviceReport | 创建由 IGameInputRawDeviceReport 实例表示的新缓冲区。 |
| SendRawDeviceOutput | 将原始数据发送到设备。 |
备注
该 IGameInputDevice 接口使应用程序可以访问有关输入设备属性、功能和当前状态的丰富信息。 它还提供对高级功能(如力回馈和触觉反馈)的访问。 许多应用程序从不需要在此接口上调用 方法,仅使用 IGameInputDevice 实例作为简单的设备标识符来筛选来自输入流的读取。
与实例一样 IGameInputReading ,每个 IGameInputDevice 实例都是单一实例;多次检索同一设备只会增加基础对象的引用计数。 因此, IGameInputDevice 可以比较实例的引用相等性。
在基础设备与系统断开连接后,应用程序可能会继续保留对 IGameInputDevice 实例的引用, (有意或无意) 。 实例 IGameInputDevice 仍然有效,因为无法强制应用程序释放对 接口的引用,但基础对象进入僵尸状态。
处于僵尸状态时,接口上 IGameInputDevice 返回静态配置信息或设备状态信息的任何方法通常 (仍可调用,Get* 方法) 。 但是,任何修改设备状态或以某种方式要求连接设备的方法都会返回一个故障 HRESULT ,指示设备不再连接。 如果之后将同一物理设备重新连接到系统,则僵尸设备对象将恢复,并且实例上 IGameInputDevice 的所有方法将再次正常运行。
要求
头文件:GameInput.h
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机