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

# GameInputControllerInfo

> GameInputControllerInfo

# GameInputControllerInfo

Describes the properties of a controller.

## Syntax

```cpp theme={null}
struct GameInputControllerInfo
{
    uint32_t                             controllerAxisCount;
    const GameInputLabel*                controllerAxisLabels;
    uint32_t                             controllerButtonCount;
    const GameInputLabel*                controllerButtonLabels;
    uint32_t                             controllerSwitchCount;
    const GameInputControllerSwitchInfo* controllerSwitchInfo;
};
```

### Members

*controllerAxisCount*<br />
Type: uint32\_t

The number of axes on the controller.

*controllerAxisLabels*<br />
Type: [GameInputLabel](/reference/input/gameinput/enums/gameinputlabel) const \*

The labels for the axes on the controller.

*controllerButtonCount*<br />
Type: uint32\_t

The number of buttons on the controller.

*controllerButtonLabels*<br />
Type: [GameInputLabel](/reference/input/gameinput/enums/gameinputlabel) const \*

The labels for the buttons on the controller.

*controllerSwitchCount*<br />
Type: uint32\_t

The number of switches on the controller.

*controllerSwitchInfo*<br />
Type: [GameInputControllerSwitchInfo](/reference/input/gameinput/structs/gameinputcontrollerswitchinfo) const \*

Information about the switches on the controller.

## Remarks

The fields in the `GameInputControllerInfo` structure that are pointers to variable-sized arrays of information about the controller. NULL pointers indicate that the corresponding feature is not available or supported by the controller. The number of elements in each array is indicated by a corresponding field in the structure (as noted in the SAL annotations).

TThis structure is used in the [GameInputDeviceInfo](/reference/input/gameinput/structs/gameinputdeviceinfo) structure. `GameInputDeviceInfo` is used by the [IGameInputDevice::GetDeviceInfo](/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getdeviceinfo) method.

For more information, see [GameInput devices](/build/core-features/common/input/overviews/input-devices).

## Requirements

**Header:** GameInput.h

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

## See Also

[Overview of GameInput](/build/core-features/common/input/overviews/input-overview)<br />

[GameInput](/reference/input/gameinput/gameinput_members)

## Version History

| Version | Changes                                                                                                                                                                       |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **v3**  | **New struct** introduced in the current API. Replaces the separate `GameInputControllerAxisInfo` and `GameInputControllerButtonInfo` structs that existed in v0, v1, and v2. |


## Related topics

- [GameInputControllerSwitchInfo](/reference/input/gameinput/structs/gameinputcontrollerswitchinfo.md)
- [GameInputControllerAxisInfo](/reference/input/gameinput/deprecated/structs/gameinputcontrolleraxisinfo.md)
- [GameInputControllerButtonInfo](/reference/input/gameinput/deprecated/structs/gameinputcontrollerbuttoninfo.md)
- [GameInput](/reference/input/gameinput/gameinput_members.md)
- [GameInputLabel](/reference/input/gameinput/enums/gameinputlabel.md)
