GameInput
GameInput API 用于从各种设备(例如游戏控制器、飞行摇杆、赛车方向盘和触摸输入)捕获人机输入。此页面记录当前(最新)的 GameInput API。每个成员的版本历史都记录在各自的参考页面中。仅存在于较旧 API 版本中的成员列在下面的 已移除的成员 部分。请注意,API 的较新运行时支持所有可用版本的 API,因此仍可以将已移除的成员与较旧版本的头文件一起使用。
接口
| 接口 | 说明 |
|---|---|
| IGameInputDevice | 定义输入设备。 |
| IGameInputDispatcher | 提供对由 GameInput API 管理的后台任务调度的手动控制。 |
| IGameInputForceFeedbackEffect | 描述兼容输入设备上的力反馈效果。 |
| IGameInputMapper | 提供关于 GameInput 如何映射设备的信息。 |
| IGameInputRawDeviceReport | 表示传递给输入设备或来自输入设备的原始字节缓冲区。 |
| IGameInputReading | 包含单次输入更新的数据。 |
| IGameInput | 提供对设备输入流访问的每进程单例。 |
函数
| 函数 | 说明 |
|---|---|
| GameInputCreate | 检索 IGameInput 接口的实例。 |
| GameInputDeviceCallback | 定义设备连接和断开事件的回调。 |
| GameInputKeyboardLayoutCallback | 定义键盘布局更改事件的回调。 |
| GameInputReadingCallback | 定义新读数到达事件的回调。 |
| GameInputSystemButtonCallback | 定义 Guide 或 Share 按钮按下和释放事件的回调。 |
结构
枚举
| 枚举 | 说明 |
|---|---|
| GameInputArcadeStickButtons | 枚举来自街机摇杆的输入。 |
| GameInputDeviceFamily | 枚举输入设备的系列。 |
| GameInputDeviceStatus | 枚举输入设备可能处于的状态。 |
| GameInputElementKind | 枚举给定输入的元素类型。 |
| GameInputEnumerationKind | 枚举用于枚举输入设备的行为类型。 |
| GameInputFeedbackAxes | 枚举输入设备上可用的力反馈电机的方向类型。 |
| GameInputFeedbackEffectState | 枚举力反馈效果的状态。 |
| GameInputFlightStickAxes | 枚举飞行摇杆的轴。 |
| GameInputFlightStickButtons | 枚举飞行摇杆按钮。 |
| GameInputFocusPolicy | 枚举输入设备的焦点策略。 |
| GameInputForceFeedbackEffectKind | 枚举可应用于力反馈效果的“幅度随时间变化”效果类型。 |
| GameInputGamepadAxes | 枚举游戏手柄的轴。 |
| GameInputGamepadButtons | 枚举游戏手柄按钮,包括方向键 (D-pad)。 |
| GameInputKeyboardKind | 按键位布局枚举键盘类型。 |
| GameInputKind | 枚举有效的 GameInput 设备类型。 |
| GameInputLabel | 枚举支持的按钮标签。 |
| GameInputMouseButtons | 枚举鼠标按钮。 |
| GameInputMousePositions | 枚举鼠标定位模式。 |
| GameInputRacingWheelAxes | 枚举赛车方向盘上的轴。 |
| GameInputRacingWheelButtons | 枚举赛车方向盘上的按钮。 |
| GameInputRawDeviceReportKind | 枚举原始设备报告的类型。 |
| GameInputRumbleMotors | 枚举输入设备上受 API 支持的震动电机。 |
| GameInputSensorAccuracy | 枚举传感器的精度级别。 |
| GameInputSensorsKind | 枚举有效的 GameInput 传感器类型。 |
| GameInputSwitchKind | 枚举输入设备支持的开关类型。 |
| GameInputSwitchPosition | 枚举输入设备上开关的位置。 |
| GameInputSystemButtons | 枚举用于控制系统的按钮。 |
已移除的成员
以下成员存在于较旧的 API 版本中,但已从当前 API 中移除。有关每个已移除成员的完整文档,请参阅 已弃用的 GameInput API 成员。已移除的接口
没有接口被永久移除。IGameInputRawDeviceReport 在 v1 和 v2 中不存在,但已在当前 API 中重新引入。
已移除的函数
| 函数 | 最后版本 | 说明 |
|---|---|---|
| GameInputGuideButtonCallback | v0 | 用于 Guide 按钮事件的、由游戏标题定义的回调。已被 GameInputSystemButtonCallback 替代。 |
已移除的结构
| 结构 | 最后版本 | 说明 |
|---|---|---|
| GameInputBatteryState | v0 | 描述输入设备的电池状态。 |
| GameInputControllerAxisInfo | v2 | 描述输入设备上的轴。已被 GameInputControllerInfo 中的字段取代。 |
| GameInputControllerButtonInfo | v2 | 描述输入设备上的按钮。已被 GameInputControllerInfo 中的字段取代。 |
| GameInputHapticFeedbackMotorInfo | v0 | 描述触觉反馈电机。已被 GameInputHapticInfo 取代。 |
| GameInputHapticFeedbackParams | v0 | 描述触觉反馈效果。 |
| GameInputHapticWaveformInfo | v0 | 描述触觉反馈效果的特征。 |
| GameInputMotionInfo | v0 | 描述启用了动作的输入设备的可测量属性。 |
| GameInputMotionState | v0 | 描述动作输入的状态。 |
| GameInputRawDeviceItemCollectionInfo | v0 | 描述原始设备项的集合。 |
| GameInputRawDeviceReportItemInfo | v0 | 描述原始设备报告项。 |
| GameInputString | v0 | 描述包含有关输入设备的信息的字符串。 |
| GameInputTouchSensorInfo | v0 | 描述输入设备的触摸传感器。 |
| GameInputTouchState | v0 | 描述触摸输入设备的状态。 |
| GameInputUiNavigationInfo | v2 | 指定 UI 中导航按钮的标签。 |
| GameInputUiNavigationState | v2 | 提供 UI 导航输入的当前状态。 |
已移除的枚举
| 枚举 | 最后版本 | 说明 |
|---|---|---|
| GameInputBatteryStatus | v0 | 枚举输入设备的电池状态。 |
| GameInputDeviceCapabilities | v0 | 枚举输入设备的某些能力。 |
| GameInputLocation | v0 | 枚举输入设备的部件。 |
| GameInputMotionAccuracy | v0 | 枚举动作传感器的精度级别。 |
| GameInputRawDeviceItemCollectionKind | v0 | 枚举原始设备项集合的类型。 |
| GameInputRawDevicePhysicalUnitKind | v0 | 枚举与设备输入关联的物理单位。 |
| GameInputRawDeviceReportItemFlags | v0 | 枚举原始设备报告项的类型。 |
| GameInputTouchShape | v0 | 枚举触摸传感器的形状。 |
| GameInputUiNavigationButtons | v2 | 枚举 UI 导航按钮。 |
版本历史
| 版本 | 变更 |
|---|---|
| v3 | 新增 IGameInputMapper 接口。重新引入 IGameInputRawDeviceReport 接口(在 v1/v2 中不存在)。新增 GameInputAxisMapping、GameInputButtonMapping、GameInputControllerInfo、GameInputHapticInfo 结构。重新引入 GameInputRawDeviceReportInfo 结构和 GameInputRawDeviceReportKind 枚举(在 v1/v2 中不存在)。重新引入 GameInputVersion 结构(在 v1/v2 中不存在)。新增 GameInputElementKind、GameInputFlightStickAxes、GameInputGamepadAxes、GameInputRacingWheelAxes 枚举。移除 GameInputControllerAxisInfo、GameInputControllerButtonInfo、GameInputUiNavigationInfo、GameInputUiNavigationState 结构。移除 GameInputUiNavigationButtons 枚举。 |
| v2 | 新增 GameInputSensorsInfo、GameInputSensorsState 结构。新增 GameInputSensorsKind、GameInputSensorAccuracy 枚举。新增 IGameInputDevice::DirectInputEscape、IGameInputDevice::GetHapticInfo。新增 IGameInputReading::GetSensorsState。重新引入 GameInputVersion 结构(在 v1 中不存在)。 |
| v1 | 移除 IGameInputRawDeviceReport 接口、GameInputRawDeviceReportInfo 结构、GameInputRawDeviceReportKind 枚举。移除 GameInputVersion 结构。新增 GameInputMousePositions 枚举。移除仅在 v0 中存在的未实现的触觉、动作和触摸类型(GameInputBatteryState、GameInputHapticFeedbackMotorInfo、GameInputHapticFeedbackParams、GameInputHapticWaveformInfo、GameInputMotionInfo、GameInputMotionState、GameInputTouchSensorInfo、GameInputTouchState、GameInputString、GameInputRawDeviceItemCollectionInfo、GameInputRawDeviceReportItemInfo)。 |
| v0 | 引入。 |
