> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInput 概觀

> GameInput 是 GDK 的統一輸入 API，適用於 XBOX 主機和 Windows 10 或更新版本上的遊戲台、鍵盤、滑鼠和其他控制器。

<a id="introductionSection" />

GameInput 是新一代的輸入 API，可透過單一一致的介面公開各種輸入裝置。它採用簡單的程式設計模型，因此易於使用。GameInput 從頭開始建置，以獲得最佳效能。GameInput API 的主要功能如下。

* **可用性**

  GameInput 可透過 Microsoft Game Development Kit (GDK) 在 XBOX 上使用，並透過 NuGet 在 PC 上使用。支援最早可追溯至 Windows 10 19H1 (2019 年 5 月更新) 的舊版 Windows。

* **一致性**

  GameInput 透過單一統一的輸入模型公開來自鍵盤、滑鼠、遊戲台和其他遊戲控制器的輸入，並同步至通用的時間基準。處理這些裝置輸入的程式碼幾乎相同，使用許多相同的函式，只是套用不同的篩選條件。這種一致性讓您不需要大幅變更輸入程式碼，就能輕鬆新增對其他輸入裝置的支援。

* **功能性**

  GameInput 是所有舊版輸入 API (XInput、DirectInput、Raw Input、人性化介面裝置 (HID) 和 WinRT API) 的功能超集，此外還新增了自己的新功能。GameInput 的功能範圍從簡單的固定格式遊戲台狀態，到詳細的低階原始裝置存取。您可以透過輪詢或以事件驅動方式透過回呼取得輸入。完整支援觸覺回饋、感應器和力回饋。開發人員可以輕鬆地在 GameInput 之上撰寫第三方裝置 SDK，以提供自訂裝置功能的存取。

* **效能**

  GameInput 直接建置在 Windows 硬體介面之上，以達到最低的輸入延遲和資源使用量。幾乎所有 API 函式都是無鎖定的，具有嚴格的效能保證，同時仍然 100% 安全執行緒。此設計讓它們可以從轉譯執行緒等時間敏感的內容中安全呼叫 (最大的例外是 GameInputCreate 呼叫)。進階應用程式可以直接控制 GameInput 內部非同步工作佇列的排程，控制由哪個執行緒執行工作以及執行的頻率。

* **可維護性**

  新版的 GameInput 執行階段支援從 v.0 到目前的所有 API 版本，遊戲可以指定其開發時所使用的 API 版本。這種版本控制表示即使發行了具有新功能和改進的新版 GameInput，遊戲仍可繼續如預期般運作。此外，隨著 Windows 平台的發展，較舊的遊戲也能享受生活品質改善，包括對新發行硬體裝置的支援和平台端修正。

* **易用性**

  GameInput 在設計時將易用性列為最高優先事項。大多數常見的輸入工作只需幾行程式碼即可實作。

<a id="gettingStartedSection" />

## 開始使用

無論目標平台為何，所有新程式碼都應使用 GameInput API。它在所有 Microsoft 平台 (包括舊版 Windows) 上提供支援，且與舊版 API 相比效能更佳。

<Note>對於在 GDK 上為 XBOX One 開發的遊戲，GameInput 是唯一可用的輸入 API。</Note>

如果您開發的遊戲以 PC 為目標，請從 [Microsoft.GameInput](https://www.nuget.org/packages/Microsoft.GameInput) NuGet 套件安裝 GameInput。

若要深入了解 GameInput API，請從 [GameInput 基本概念](/zh-TW/build/core-features/common/input/overviews/input-fundamentals)開始。

如果您要從現有的程式碼基底移植輸入程式碼，或打算並行套用部分 GameInput 擴充功能，請參閱 [GameInput 移植指南](/zh-TW/build/core-features/common/input/porting/input-porting)以取得 API 專屬指引。

<a id="seeAlsoSection" />

## 另請參閱

[GameInput 基本概念](/zh-TW/build/core-features/common/input/overviews/input-fundamentals)

[透過 NuGet 在 PC 上使用 GameInput](/zh-TW/build/core-features/common/input/overviews/input-nuget)

[GameInput 移植指南](/zh-TW/build/core-features/common/input/porting/input-porting)

[GameInput API 參考](/zh-TW/reference/input/gc-reference-input-toc)

[Microsoft Game Development Kit](/zh-TW/services/playfab/sdks/platforms/gdk)


## Related topics

- [GameInput](/reference/input/gameinput/gameinput_members.md)
- [Overview of GameInput](/build/core-features/common/input/overviews/input-overview.md)
- [GameInput fundamentals](/build/core-features/common/input/overviews/input-fundamentals.md)
- [GameInput 概述](/zh-CN/build/core-features/common/input/overviews/input-overview.md)
- [GameInput 개요](/ko/build/core-features/common/input/overviews/input-overview.md)
