> ## 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.

# GameInputGamepadButtons

> GameInputGamepadButtons

# GameInputGamepadButtons

列舉遊戲台按鈕，包括方向鍵 (D-pad) 以及由軸轉換而來的按鈕。

<a id="syntaxSection" />

## 語法

```cpp theme={null}
enum GameInputGamepadButtons
{
    GameInputGamepadNone                 = 0x00000000,
    GameInputGamepadMenu                 = 0x00000001,
    GameInputGamepadView                 = 0x00000002,
    GameInputGamepadA                    = 0x00000004,
    GameInputGamepadB                    = 0x00000008,
    GameInputGamepadC                    = 0x00004000,
    GameInputGamepadX                    = 0x00000010,
    GameInputGamepadY                    = 0x00000020,
    GameInputGamepadZ                    = 0x00008000,
    GameInputGamepadDPadUp               = 0x00000040,
    GameInputGamepadDPadDown             = 0x00000080,
    GameInputGamepadDPadLeft             = 0x00000100,
    GameInputGamepadDPadRight            = 0x00000200,
    GameInputGamepadLeftShoulder         = 0x00000400,
    GameInputGamepadRightShoulder        = 0x00000800,
    GameInputGamepadLeftTriggerButton    = 0x00010000,
    GameInputGamepadRightTriggerButton   = 0x00020000,
    GameInputGamepadLeftThumbstick       = 0x00001000,
    GameInputGamepadLeftThumbstickUp     = 0x00040000,
    GameInputGamepadLeftThumbstickDown   = 0x00080000,
    GameInputGamepadLeftThumbstickLeft   = 0x00100000,
    GameInputGamepadLeftThumbstickRight  = 0x00200000,
    GameInputGamepadRightThumbstick      = 0x00002000,
    GameInputGamepadRightThumbstickUp    = 0x00400000,
    GameInputGamepadRightThumbstickDown  = 0x00800000,
    GameInputGamepadRightThumbstickLeft  = 0x01000000,
    GameInputGamepadRightThumbstickRight = 0x02000000,
    GameInputGamepadPaddleLeft1          = 0x04000000,
    GameInputGamepadPaddleLeft2          = 0x08000000,
    GameInputGamepadPaddleRight1         = 0x10000000,
    GameInputGamepadPaddleRight2         = 0x20000000,
};

// Gamepad modules (Groupings of gamepad elements commonly found together)
const GameInputGamepadButtons GameInputGamepadModuleSystemDuo =
    GameInputGamepadMenu |
    GameInputGamepadView;

const GameInputGamepadButtons GameInputGamepadModuleDpad =
    GameInputGamepadDPadUp |
    GameInputGamepadDPadDown |
    GameInputGamepadDPadLeft |
    GameInputGamepadDPadRight;

const GameInputGamepadButtons GameInputGamepadModuleShoulders =
    GameInputGamepadLeftShoulder |
    GameInputGamepadRightShoulder;

const GameInputGamepadButtons GameInputGamepadModuleTriggers =
    GameInputGamepadLeftTriggerButton |
    GameInputGamepadRightTriggerButton;

const GameInputGamepadButtons GameInputGamepadModuleThumbsticks =
    GameInputGamepadLeftThumbstickUp |
    GameInputGamepadLeftThumbstickDown |
    GameInputGamepadLeftThumbstickLeft |
    GameInputGamepadLeftThumbstickRight |
    GameInputGamepadRightThumbstickUp |
    GameInputGamepadRightThumbstickDown |
    GameInputGamepadRightThumbstickLeft |
    GameInputGamepadRightThumbstickRight;

const GameInputGamepadButtons GameInputGamepadModulePaddles2 =
    GameInputGamepadPaddleLeft1 |
    GameInputGamepadPaddleRight1;

const GameInputGamepadButtons GameInputGamepadModulePaddles4 =
    GameInputGamepadPaddleLeft1 |
    GameInputGamepadPaddleLeft2 |
    GameInputGamepadPaddleRight1 |
    GameInputGamepadPaddleRight2;

// Commonly found gamepad layouts. Custom layouts are possible and encouraged.
const GameInputGamepadButtons GameInputGamepadLayoutBasic =
    GameInputGamepadModuleSystemDuo |
    GameInputGamepadModuleDpad |
    GameInputGamepadA |
    GameInputGamepadB;

const GameInputGamepadButtons GameInputGamepadLayoutButtons =
    GameInputGamepadLayoutBasic |
    GameInputGamepadX |
    GameInputGamepadY |
    GameInputGamepadModuleShoulders;

const GameInputGamepadButtons GameInputGamepadLayoutStandard =
    GameInputGamepadLayoutButtons |
    GameInputGamepadModuleTriggers |
    GameInputGamepadModuleThumbsticks |
    GameInputGamepadLeftThumbstick |
    GameInputGamepadRightThumbstick;

const GameInputGamepadButtons GameInputGamepadLayoutElite =
    GameInputGamepadLayoutStandard |
    GameInputGamepadModulePaddles4;
```

<a id="constantsSection" />

## 常數

| 常數 | 描述 |
| - | - |
| GameInputGamepadNone | 表示未按下任何按鈕。 |
| GameInputGamepadMenu | 表示已按下功能表按鈕。 |
| GameInputGamepadView | 表示已按下檢視按鈕。 |
| GameInputGamepadA | 表示已按下 A 按鈕。 |
| GameInputGamepadB | 表示已按下 B 按鈕。 |
| GameInputGamepadC | 表示已按下 C 按鈕。 |
| GameInputGamepadX | 表示已按下 X 按鈕。 |
| GameInputGamepadY | 表示已按下 Y 按鈕。 |
| GameInputGamepadZ | 表示已按下 Z 按鈕。 |
| GameInputGamepadDPadUp | 表示已按下方向鍵的上方部分。 |
| GameInputGamepadDPadDown | 表示已按下方向鍵的下方部分。 |
| GameInputGamepadDPadLeft | 表示已按下方向鍵的左側部分。 |
| GameInputGamepadDPadRight | 表示已按下方向鍵的右側部分。 |
| GameInputGamepadLeftShoulder | 表示已按下左肩按鈕。 |
| GameInputGamepadRightShoulder | 表示已按下右肩按鈕。 |
| GameInputGamepadLeftTriggerButton | 表示已按下左扳機按鈕。 |
| GameInputGamepadRightTriggerButton | 表示已按下右扳機按鈕。 |
| GameInputGamepadLeftThumbstick | 表示已按下左搖桿。 |
| GameInputGamepadLeftThumbstickUp | 表示左搖桿指向上方。 |
| GameInputGamepadLeftThumbstickDown | 表示左搖桿指向下方。 |
| GameInputGamepadLeftThumbstickLeft | 表示左搖桿指向左方。 |
| GameInputGamepadLeftThumbstickRight | 表示左搖桿指向右方。 |
| GameInputGamepadRightThumbstick | 表示已按下右搖桿。 |
| GameInputGamepadRightThumbstickUp | 表示右搖桿指向上方。 |
| GameInputGamepadRightThumbstickDown | 表示右搖桿指向下方。 |
| GameInputGamepadRightThumbstickLeft | 表示右搖桿指向左方。 |
| GameInputGamepadRightThumbstickRight | 表示右搖桿指向右方。 |
| GameInputGamepadPaddleLeft1 | 表示已按下第一個左側背鍵。 |
| GameInputGamepadPaddleLeft2 | 表示已按下第二個左側背鍵。 |
| GameInputGamepadPaddleRight1 | 表示已按下第一個右側背鍵。 |
| GameInputGamepadPaddleRight2 | 表示已按下第二個右側背鍵。 |

### 遊戲台模組

模組代表常一起出現的遊戲台元素分組。

| 常數 | 描述 |
| - | - |
| GameInputGamepadModuleSystemDuo | 功能表和檢視按鈕。 |
| GameInputGamepadModuleDpad | 方向鍵按鈕 (上、下、左、右)。 |
| GameInputGamepadModuleShoulders | 左肩和右肩按鈕。 |
| GameInputGamepadModuleTriggers | 左扳機和右扳機。 |
| GameInputGamepadModuleThumbsticks | 左搖桿和右搖桿。 |
| GameInputGamepadModulePaddles2 | 前兩個背鍵 (左 1 和右 1)。 |
| GameInputGamepadModulePaddles4 | 全部四個背鍵 (左 1、左 2、右 1、右 2)。 |

### 遊戲台配置

常見的遊戲台配置。

| 常數 | 描述 |
| - | - |
| GameInputGamepadLayoutBasic | 系統雙鍵 (功能表和檢視)、方向鍵，以及 A 和 B 按鈕。 |
| GameInputGamepadLayoutButtons | 基本配置加上 X 和 Y 按鈕以及肩部按鈕。 |
| GameInputGamepadLayoutStandard | 自 XBOX 360 以來遊戲台上的標準配置。 |
| GameInputGamepadLayoutElite | XBOX Elite 無線控制器系列上的配置。 |

<a id="remarksSection" />

## 備註

此列舉用於 [GameInputGamePadState](/zh-TW/reference/input/gameinput/structs/gameinputgamepadstate) 結構。您可以合併值以同時讀取多個按鈕。

`GameInputGamepadLeftTriggerButton`、`GameInputGamepadRightTriggerButton`、`GameInputGamepadLeftThumbstickUp`、`GameInputGamepadLeftThumbstickDown`、`GameInputGamepadLeftThumbstickLeft`、`GameInputGamepadLeftThumbstickRight`、`GameInputGamepadRightThumbstickUp`、`GameInputGamepadRightThumbstickDown`、`GameInputGamepadRightThumbstickLeft` 和 `GameInputGamepadRightThumbstickRight` 是大多數遊戲台上對應類比軸的數位表示法。例如，如果將左搖桿完全推向上方，`GameInputGamepadLeftThumbstickUp` 按鈕和 `GameInputGamepadLeftThumbstickY` 軸都會顯示值 1.0。

如需詳細資訊，請參閱 [GameInput 讀數](/zh-TW/build/core-features/common/input/overviews/input-readings)的[從讀數取得資料](/zh-TW/build/core-features/common/input/overviews/input-readings#gettingStateSection)一節。

此列舉也可以搭配 [IGameInputMapper::GetGamepadButtonMappingInfo](/zh-TW/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getgamepadbuttonmappinginfo) 方法使用，以擷取特定遊戲台按鈕的對應資訊。

<a id="requirementsSection" />

## 需求

**標頭：** GameInput.h

**支援的平台：** Windows、XBOX One 系列主機和 XBOX Series 主機

<a id="seealsoSection" />

## 另請參閱

[GameInput 概觀](/zh-TW/build/core-features/common/input/overviews/input-overview)\
[GameInput](/zh-TW/reference/input/gameinput/gameinput_members)

## 版本歷程記錄

| 版本 | 變更 |
| - | - |
| **v3** | **新增 16 個新的旗標常數**：`C`、`Z`、`LeftTriggerButton`、`RightTriggerButton`、四個 `LeftThumbstick` 方向、四個 `RightThumbstick` 方向、`PaddleLeft1`、`PaddleLeft2`、`PaddleRight1`、`PaddleRight2`。另外也新增了 11 個複合/配置常數。 |
| **v0** | 初次推出。 |

## 附錄：先前版本

### v0

```cpp theme={null}
enum GameInputGamepadButtons
{
    GameInputGamepadNone            = 0x00000000,
    GameInputGamepadMenu            = 0x00000001,
    GameInputGamepadView            = 0x00000002,
    GameInputGamepadA               = 0x00000004,
    GameInputGamepadB               = 0x00000008,
    GameInputGamepadX               = 0x00000010,
    GameInputGamepadY               = 0x00000020,
    GameInputGamepadDPadUp          = 0x00000040,
    GameInputGamepadDPadDown        = 0x00000080,
    GameInputGamepadDPadLeft        = 0x00000100,
    GameInputGamepadDPadRight       = 0x00000200,
    GameInputGamepadLeftShoulder    = 0x00000400,
    GameInputGamepadRightShoulder   = 0x00000800,
    GameInputGamepadLeftThumbstick  = 0x00001000,
    GameInputGamepadRightThumbstick = 0x00002000,
};
```


## Related topics

- [GameInputGamepadButtons](/reference/input/gameinput/enums/gameinputgamepadbuttons.md)
- [GameInputGamepadInfo](/reference/input/gameinput/structs/gameinputgamepadinfo.md)
- [IGameInputMapper::GetGamepadButtonMapping](/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getgamepadbuttonmappinginfo.md)
- [GameInputGamepadState](/reference/input/gameinput/structs/gameinputgamepadstate.md)
- [GameInput](/reference/input/gameinput/gameinput_members.md)
