API 會另外定義
GameInput 滑鼠和鍵盤裝置。這些裝置在 Windows 中具有特殊意義,並在其他地方說明。如需詳細資訊,請參閱開發鍵盤和滑鼠 HID 用戶端驅動程式。GameInput 代表各式各樣的裝置,包括控制器、遊戲台、飛行搖桿、大型機台搖桿、賽車方向盤和 UI 瀏覽控制器。每種裝置類型都有自己的介面,可讓您用來與裝置互動。硬體裝置是否會顯示在其中一個介面下,取決於裝置是否符合遊戲輸入控制器的現有 Windows 驅動程式通訊協定之一,或是一般 HID 裝置。
對於與 XInput 相容的裝置,GameInput API 會將這些裝置列舉為控制器、遊戲台和 UI 瀏覽控制器。這些裝置的對應嚴格由通訊協定決定,而通訊協定不支援額外的按鈕。這些裝置也支援雙重或四重震動效果。這些效果對應至左右馬達,以及左右扳機。XInput 有三種主要的有線通訊協定:XUSB、XInputHID 和 Game Input Protocol (GIP)。在主機上,系統僅支援 GIP 裝置。您可以在適用於硬體裝置的 XInput API 文件中找到所有這些通訊協定的詳細資訊。在 PC 上,裝置應與 XInputHID 驅動程式互動。對於遊戲台以外的其他 Game Input Protocol (GIP) 裝置,GameInput API 會根據裝置在連線時呈現的中繼資料,將這些裝置列舉為飛行搖桿、大型機台搖桿、賽車方向盤或 UI 瀏覽控制器。此行為在主機和 PC 上皆是如此。如需詳細資訊,請參閱 Game Input Protocol (GIP) 文件。
對於 HID 裝置,GameInput在裝置如何向作業系統呈現自己方面提供了更多彈性。此彈性表示 HID 裝置可能公開遠超過標準遊戲控制器通訊協定所定義的各種功能。例如,賽車方向盤裝置可能會向 GameInput 將自己呈現為遊戲台和飛行搖桿。裝置上可用的按鈕、開關和軸的完整清單,是由裝置的 HID 報告描述元所定義,並透過 IGameInputReading 介面的 GetControllerButtonState、GetControllerButtonCount,以及取得軸或開關的同類呼叫公開。為了將這些功能對應至遊戲台或賽車方向盤等其他介面,GameInput 會使用 Windows 登錄中的一系列對應。Windows.Gaming.Input (WGI) API 會共用這些對應。如需詳細資訊,請參閱遊戲控制器的登錄資料。獨立硬體廠商 (IHV) 可以在驅動程式安裝過程中,將其登錄對應新增至 HKLM\SYSTEM\CurrentControlSet\Control\GameInput\Devices 路徑。GameInput API 會定期在隨遊戲重新散發的未來 API 版本中,為常見裝置新增預設對應。IHV 對應的優先順序高於預設對應。您可以在 HKLM\SOFTWARE\Microsoft\GameInputRedist 中找到隨 API 封裝的對應。
