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

# XINPUT_GAMEPAD

> XINPUT_GAMEPAD

# XINPUT\_GAMEPAD

描述控制器的当前状态。

## 语法

```cpp theme={null}
typedef struct XINPUT_GAMEPAD {  
    WORD wButtons;  
    BYTE bLeftTrigger;  
    BYTE bRightTrigger;  
    SHORT sThumbLX;  
    SHORT sThumbLY;  
    SHORT sThumbRX;  
    SHORT sThumbRY;  
} XINPUT_GAMEPAD  
```

### 成员

*wButtons*\
类型：WORD

设备数字按钮的位掩码。位设置为 1 表示相应按钮被按下。

| 设备按钮                             | 位掩码    |
| -------------------------------- | ------ |
| XINPUT\_GAMEPAD\_DPAD\_UP        | 0x0001 |
| XINPUT\_GAMEPAD\_DPAD\_DOWN      | 0x0002 |
| XINPUT\_GAMEPAD\_DPAD\_LEFT      | 0x0004 |
| XINPUT\_GAMEPAD\_DPAD\_RIGHT     | 0x0008 |
| XINPUT\_GAMEPAD\_START           | 0x0010 |
| XINPUT\_GAMEPAD\_BACK            | 0x0020 |
| XINPUT\_GAMEPAD\_LEFT\_THUMB     | 0x0040 |
| XINPUT\_GAMEPAD\_RIGHT\_THUMB    | 0x0080 |
| XINPUT\_GAMEPAD\_LEFT\_SHOULDER  | 0x0100 |
| XINPUT\_GAMEPAD\_RIGHT\_SHOULDER | 0x0200 |
| XINPUT\_GAMEPAD\_A               | 0x1000 |
| XINPUT\_GAMEPAD\_B               | 0x2000 |
| XINPUT\_GAMEPAD\_X               | 0x4000 |
| XINPUT\_GAMEPAD\_Y               | 0x8000 |

上文未定义但被设置的位为保留位，其状态未定义。

*bLeftTrigger*\
类型：BYTE

左扳机模拟控件的当前值。取值介于 0 到 255 之间。

*bRightTrigger*\
类型：BYTE

右扳机模拟控件的当前值。取值介于 0 到 255 之间。

*sThumbLX*\
类型：SHORT

左摇杆的 X 轴值。每个摇杆轴成员均为介于 -32768 到 32767 之间的有符号值，用于描述摇杆的位置。值为 0 表示居中，负值表示向下或向左，正值表示向上或向右。常量 XINPUT\_GAMEPAD\_LEFT\_THUMB\_DEADZONE 和 XINPUT\_GAMEPAD\_RIGHT\_THUMB\_DEADZONE 可作为正负值用于过滤摇杆输入。

*sThumbLY*\
类型：SHORT

左摇杆的 Y 轴值，介于 -32768 到 32767 之间。

*sThumbRX*\
类型：SHORT

右摇杆的 X 轴值，介于 -32768 到 32767 之间。

*sThumbRY*\
类型：SHORT

右摇杆的 Y 轴值，介于 -32768 到 32767 之间。

## 备注

在轮询控制器状态变化期间，此结构由 [XINPUT\_STATE](/reference/input/xinputongameinput/structs/xinput_state) 结构使用。

按钮到游戏功能的具体映射因游戏类型而异。

常量 XINPUT\_GAMEPAD\_TRIGGER\_THRESHOLD 可用作 *bLeftTrigger* 和 *bRightTrigger* 必须超过的阈值，方可视为按下。此为可选，但通常是可取的。

## 要求

**头文件：** XInputOnGameInput.h

**支持的平台：** XBOX One 系列主机和 XBOX Series 主机

## 另请参阅

[将 XInput 移植到 GameInput](/build/core-features/common/input/porting/input-porting-xinput)\
[XInputOnGameInput](/reference/input/xinputongameinput/xinputongameinput_members)


## Related topics

- [XINPUT_STATE](/zh-CN/reference/input/xinputongameinput/structs/xinput_state.md)
- [XInputOnGameInput](/zh-CN/reference/input/xinputongameinput/xinputongameinput_members.md)
- [XINPUT_CAPABILITIES](/zh-CN/reference/input/xinputongameinput/structs/xinput_capabilities.md)
- [XInputGetBatteryInformation](/zh-CN/reference/input/xinputongameinput/functions/xinputgetbatteryinformation.md)
- [XInputGetCapabilities](/zh-CN/reference/input/xinputongameinput/functions/xinputgetcapabilities.md)
