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

# GAMEPAD_BUTTONS Enumeration

> GAMEPAD_BUTTONS Enumeration

Controller button identifier flags.

**GAMEPAD\_BUTTONS** values are used in a [GAMEPAD\_REPORT](https://docs.xbox.com/reference/tools/xtf/xtfinput/structures/GAMEPAD_REPORT-xtfinput-xbox-windows-t.md) to indicate which buttons are currently pressed.

## Syntax

```cpp theme={null}
typedef enum GAMEPAD_BUTTONS
{
    RIGHT_THUMBSTICK = 0x8000,
    LEFT_THUMBSTICK = 0x4000,
    RIGHT_SHOULDER = 0x2000,
    LEFT_SHOULDER = 0x1000,
    DPAD_RIGHT = 0x800,
    DPAD_LEFT = 0x400,
    DPAD_DOWN = 0x200,
    DPAD_UP = 0x100,
    Y = 0x80,
    X = 0x40,
    B = 0x20,
    A = 0x10,
    VIEW = 0x8,
    MENU = 0x4,
    NEXUS = 0x2,
    ENROLL = 0x1,
    NONE = 0
} GAMEPAD_BUTTONS, *PGAMEPAD_BUTTONS;  
```

## Constants

| Constant | Description |
| - | - |
| RIGHT\_THUMBSTICK | The right thumbstick |
| LEFT\_THUMBSTICK | The left thumbstick |
| RIGHT\_SHOULDER | The right shoulder button |
| LEFT\_SHOULDER | The left shoulder button |
| DPAD\_RIGHT | The direction pad right button |
| DPAD\_LEFT | The direction pad left button |
| DPAD\_DOWN | The direction pad down button |
| DPAD\_UP | The direciton pad up button. |
| Y | The Y button |
| X | The X button |
| B | The B button |
| A | The A button |
| VIEW | The View button |
| MENU | The Menu button |
| NEXUS | The Nexus button |
| ENROLL | The Enroll button |
| NONE | Value that indicates no buttons are currently pressed. |

## Remarks

**GAMEPAD\_BUTTONS** is a flag enumeration so the values may be combined into a single value which represents multiple buttons being pressed. **GAMEPAD\_BUTTONS** is a member of the [GAMEPAD\_REPORT](https://docs.xbox.com/reference/tools/xtf/xtfinput/structures/GAMEPAD_REPORT-xtfinput-xbox-windows-t.md) struct. It is combined with additional information about non-button inputs like the triggers and stick values to represent the state of a gamepad input device. These states are sent to a console using the [IXtfInputClient](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/ixtfinputclient-xtfinput-xbox-windows-t.md).

## Requirements

**Header:** xtfinput.h

**Library:** xtfinput.lib

**Supported platforms:** Windows (for XBOX console tools)

## See also

[XtfInput](https://docs.xbox.com/reference/tools/xtf/xtfinput/xtfinput-xbox-microsoft-n.md)\
[GAMEPAD\_REPORT](https://docs.xbox.com/reference/tools/xtf/xtfinput/structures/GAMEPAD_REPORT-xtfinput-xbox-windows-t.md)\
[IXtfInputClient](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/ixtfinputclient-xtfinput-xbox-windows-t.md)


## Related topics

- [XtfInput (API contents)](https://docs.xbox.com/reference/tools/xtf/xtfinput/xtfinput-xbox-microsoft-n.md)
- [GAMEPAD_MORE_BUTTONS](https://docs.xbox.com/reference/tools/xtf/xtfinput/enumerations/gamepad_more_buttons.md)
- [GameInputGamepadButtons](https://docs.xbox.com/reference/input/gameinput/enums/gameinputgamepadbuttons.md)
- [GetGamepadButtonMappingInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputmapper/methods/igameinputmapper_getgamepadbuttonmappinginfo.md)
- [SendGamepadReport](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/sendgamepadreport-ixtfinputclient-xtfinput-xbox-windows-m.md)
