> ## 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_REPORT structure

> GAMEPAD_REPORT structure

A snapshot of the state of a controller.

## Syntax

```cpp theme={null}
typedef struct GAMEPAD_REPORT {
    UINT16 Buttons;
    UINT16 LeftTrigger;
    UINT16 RightTrigger;
    INT16 LeftThumbstickX;
    INT16 LeftThumbstickY;
    INT16 RightThumbstickX;
    INT16 RightThumbstickY;
} GAMEPAD_REPORT, *PGAMEPAD_REPORT;  
```

##### Members

**Buttons**\
A combination of [GAMEPAD\_BUTTONS](https://docs.xbox.com/reference/tools/xtf/xtfinput/enumerations/GAMEPAD_BUTTONS-typedef-xtfinput-xbox-windows-t.md) flag values that represent the state of the buttons on the controller.

**LeftTrigger**\
Value between 0 and 1023 that indicates how far the left trigger is pulled.

**RightTrigger**\
Value between 0 and 1023 that indicates how far the right trigger is pulled.

**LeftThumbstickX**\
Value between -32768 and 32767 that indicates the position of the left thumbstick on the x-axis.

**LeftThumbstickY**\
Value between -32768 and 32767 that indicates the position of the left thumbstick on the y-axis.

**RightThumbstickX**\
Value between -32768 and 32767 that indicates the position of the right thumbstick on the x-axis.

**RightThumbstickY**\
Value between -32768 and 32767 that indicates the position of the right thumbstick on the y-axis.

## Remarks

**GAMEPAD\_REPORT** is used to send the desired state of a simulated controller to a development console. You will send individual states of the controller to the console using [IXtfInputClient::SendGamepadReport](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/sendgamepadreport-ixtfinputclient-xtfinput-xbox-windows-m.md). By doing this repeatedly you will be able to simulate a sequence of controller input on the development console. You will need to send game reports to a virtual controller created by [IXtfInputClient::ConnectGamepad](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/connectgamepad-ixtfinputclient-xtfinput-xbox-windows-m.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)\
[IXtfInputClient::SendGamepadReport](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/sendgamepadreport-ixtfinputclient-xtfinput-xbox-windows-m.md)\
[IXtfInputClient::ConnectGamepad](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/connectgamepad-ixtfinputclient-xtfinput-xbox-windows-m.md)


## Related topics

- [XtfInput (API contents)](https://docs.xbox.com/reference/tools/xtf/xtfinput/xtfinput-xbox-microsoft-n.md)
- [GAMEPAD_REPORT_EX](https://docs.xbox.com/reference/tools/xtf/xtfinput/structures/gamepad_report_ex.md)
- [SendGamepadReport](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/sendgamepadreport-ixtfinputclient-xtfinput-xbox-windows-m.md)
- [SendGamepadReportEx](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/ixtfinputclient_sendgamepadreportex.md)
- [SendGamepadReportWithAudio](https://docs.xbox.com/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/ixtfinputclient_sendgamepadreportwithaudio.md)
