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

# IGameInputDevice::GetFlightStickInfo

> Retrieves the flight stick properties of the device, such as the labels of its buttons, hat switch, and axes.

Retrieves the flight stick properties of the device, such as the labels of its buttons, hat switch, and axes.

## Syntax

```cpp theme={null}
bool GetFlightStickInfo(
    GameInputFlightStickInfo* info
);
```

### Parameters

*info*   \_Out\_\
Type: [GameInputFlightStickInfo](https://docs.xbox.com/reference/input/gameinput/structs/gameinputflightstickinfo.md)\*

Pointer to a `GameInputFlightStickInfo` structure that receives the flight stick properties of the device. If the device doesn't support flight stick input, every member of the structure is set to zero.

### Return value

Type: bool

`true` if the device supports flight stick input and *info* was filled in; otherwise, `false`.

## Remarks

The `GetFlightStickInfo` method copies the flight stick properties of the device into the caller-provided structure. A device supports flight stick input when the value returned by [GetSupportedInput](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md) includes `GameInputKindFlightStick`. If the device doesn't support flight stick input, `GetFlightStickInfo` zero-initializes *info* and returns `false`.

The label members describe the markings printed on the corresponding controls, as [GameInputLabel](https://docs.xbox.com/reference/input/gameinput/enums/gameinputlabel.md) values, so you can show matching prompts in your UI. The `extraButtonCount` and `extraAxisCount` members report how many controller buttons and axes the device has beyond the standard flight stick mapping; use [GetExtraButtonIndexes](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes.md) and [GetExtraAxisIndexes](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxisindexes.md) to locate them in the controller state of a reading. Flight stick state is read from readings by using [IGameInputReading::GetFlightStickState](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getflightstickstate.md).

The properties returned by this method are fixed for the lifetime of the device, so you can query them once (for example, when the device connects) and cache the result.

The following example shows how to query the flight stick properties of a device.

```cpp theme={null}
GameInputFlightStickInfo info;
if (device->GetFlightStickInfo(&info))
{
    GameInputLabel firePrimary = info.firePrimaryButtonLabel;
    // ...
}
```

In GameInput v3 and earlier, this information was available from the `flightStickInfo` member of the [GameInputDeviceInfo](https://docs.xbox.com/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) structure returned by [IGameInputDevice::GetDeviceInfo](https://docs.xbox.com/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getdeviceinfo.md).

## Requirements

**Header:** GameInput.h

**Library:** gameinput.lib

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

## See also

[Overview of GameInput](https://docs.xbox.com/build/core-features/common/input/overviews/input-overview.md)\
[GameInputFlightStickInfo](https://docs.xbox.com/reference/input/gameinput/structs/gameinputflightstickinfo.md)\
[GetSupportedInput](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md)\
[GameInputKind](https://docs.xbox.com/reference/input/gameinput/enums/gameinputkind.md)\
[GameInputLabel](https://docs.xbox.com/reference/input/gameinput/enums/gameinputlabel.md)\
[IGameInputReading::GetFlightStickState](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getflightstickstate.md)\
[IGameInputDevice](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Version History

| Version | Changes |
| - | - |
| **v4** | Introduced. |


## Related topics

- [GameInputFlightStickInfo](https://docs.xbox.com/reference/input/gameinput/structs/gameinputflightstickinfo.md)
- [IGameInputDevice::GetArcadeStickInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getarcadestickinfo.md)
- [IGameInputDevice::GetInputReportInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getinputreportinfo.md)
- [IGameInputDevice::GetKeyboardInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getkeyboardinfo.md)
- [IGameInputDevice::GetSensorsInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsensorsinfo.md)
