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

# GAMEPAD_REPORT structure

> GAMEPAD_REPORT structure

# GAMEPAD\_REPORT structure

A snapshot of the state of a controller.

<a id="syntaxSection" />

## 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;  
```

<a id="ID4EG" />

##### Members

**Buttons**\
A combination of [GAMEPAD\_BUTTONS](/reference/tools/xtf/xtfinput/enumerations/GAMEPAD_BUTTONS-typedef-xtfinput-xbox-windows-t) 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.

<a id="requirements" />

## 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](/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/sendgamepadreport-ixtfinputclient-xtfinput-xbox-windows-m). 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](/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/connectgamepad-ixtfinputclient-xtfinput-xbox-windows-m).

## Requirements

**Header:** xtfinput.h

**Library:** xtfinput.lib

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

## See also

[XtfInput](/reference/tools/xtf/xtfinput/xtfinput-xbox-microsoft-n)\
[IXtfInputClient::SendGamepadReport](/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/sendgamepadreport-ixtfinputclient-xtfinput-xbox-windows-m)\
[IXtfInputClient::ConnectGamepad](/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/connectgamepad-ixtfinputclient-xtfinput-xbox-windows-m)


## Related topics

- [GAMEPAD_REPORT_EX](/reference/tools/xtf/xtfinput/structures/gamepad_report_ex.md)
- [IXtfInputClient::SendGamepadReport Method](/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/sendgamepadreport-ixtfinputclient-xtfinput-xbox-windows-m.md)
- [IXtfInputClient::SendGamepadReportEx](/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/ixtfinputclient_sendgamepadreportex.md)
- [IXtfInputClient::SendGamepadReportWithAudio](/reference/tools/xtf/xtfinput/classes/IXtfInputClient/methods/ixtfinputclient_sendgamepadreportwithaudio.md)
- [GAMEPAD_BUTTONS Enumeration](/reference/tools/xtf/xtfinput/enumerations/GAMEPAD_BUTTONS-typedef-xtfinput-xbox-windows-t.md)
