GameInput
GameInput API 用於擷取來自各種裝置的人為輸入,例如遊戲控制器、飛行搖桿、賽車方向盤和觸控輸入。此頁面記載目前 (最新) 的 GameInput API。每個成員的版本歷程記錄都註明於個別的參考頁面中。僅存在於舊版 API 中的成員,列於下方的 已移除的成員 一節。請注意,較新的 API 執行階段支援所有可用的 API 版本,因此已移除的成員仍可搭配舊版的標頭使用。
介面
| 介面 | 描述 |
|---|---|
| IGameInputDevice | 定義輸入裝置。 |
| IGameInputDispatcher | 提供手動控制 GameInput API 所管理背景工作之排程的功能。 |
| IGameInputForceFeedbackEffect | 描述相容輸入裝置上的力回饋效果。 |
| IGameInputMapper | 提供 GameInput 如何對應裝置的相關資訊。 |
| IGameInputRawDeviceReport | 代表傳送至輸入裝置或從輸入裝置傳送的原始位元組緩衝區。 |
| IGameInputReading | 包含單一輸入更新的資料。 |
| IGameInput | 提供裝置輸入串流存取權的個別處理序單一資料庫。 |
函式
| 函式 | 描述 |
|---|---|
| GameInputCreate | 擷取 IGameInput 介面的執行個體。 |
| GameInputDeviceCallback | 定義用於裝置連線和中斷連線事件的回呼。 |
| GameInputKeyboardLayoutCallback | 定義用於鍵盤配置變更事件的回呼。 |
| GameInputReadingCallback | 定義用於新讀數抵達事件的回呼。 |
| GameInputSystemButtonCallback | 定義用於指南或分享按鈕按下和放開事件的回呼。 |
結構
列舉
| 列舉 | 描述 |
|---|---|
| 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 | 由遊戲定義、用於指南按鈕事件的回呼。已由 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 | 已推出。 |
