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

# GameInputDeviceStatus

> GameInputDeviceStatus

Enumeration of the states that an input device can be in.

## Syntax

```cpp theme={null}
enum GameInputDeviceStatus
{
    GameInputDeviceNoStatus        = 0x00000000,
    GameInputDeviceConnected       = 0x00000001,
    GameInputDeviceHapticInfoReady = 0x00200000,
    GameInputDeviceAnyStatus       = 0xFFFFFFFF
};
```

## Constants

| Constant | Description |
| - | - |
| GameInputDeviceNoStatus | Indicates that the device has no status. |
| GameInputDeviceConnected | Indicates that the device is connected. |
| GameInputDeviceHapticInfoReady | Indicates that the device haptics information is ready. |
| GameInputDeviceAnyStatus | Will return true for any device status. |

## Remarks

These flag values may be combined as the user sees fit to filter on more than one device at a time. Returned by [iGameInputDevice\_GetDeviceStatus](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getdevicestatus.md).

Applications can register to receive a callback when any of these states change, via the [IGameInput::RegisterDeviceCallback](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md) method on the [IGameInput interface](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinput/igameinput.md).

## Requirements

**Header:** GameInput.h

[Input API Overview](https://docs.xbox.com/build/core-features/common/input/overviews/input-overview.md)\
[GameInput](https://docs.xbox.com/reference/input/gameinput/gameinput_members.md)\
[IGameInput::RegisterDeviceCallback](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)

## Version History

| Version | Changes |
| - | - |
| **v2** | **Added** `GameInputDeviceHapticInfoReady` (0x00200000). |
| **v1** | **Breaking change** — removed eight unused flags: `GameInputDeviceInputEnabled`, `GameInputDeviceOutputEnabled`, `GameInputDeviceRawIoEnabled`, `GameInputDeviceAudioCapture`, `GameInputDeviceAudioRender`, `GameInputDeviceSynchronized`, `GameInputDeviceWireless`, and `GameInputDeviceUserIdle`. `GameInputDeviceAnyStatus` value changed from `0x00FFFFFF` to `0xFFFFFFFF`. |
| **v0** | Introduced. |

## Appendix: Previous versions

### v0

```cpp theme={null}
enum GameInputDeviceStatus
{
    GameInputDeviceNoStatus       = 0x00000000,
    GameInputDeviceConnected      = 0x00000001,
    GameInputDeviceInputEnabled   = 0x00000002,
    GameInputDeviceOutputEnabled  = 0x00000004,
    GameInputDeviceRawIoEnabled   = 0x00000008,
    GameInputDeviceAudioCapture   = 0x00000010,
    GameInputDeviceAudioRender    = 0x00000020,
    GameInputDeviceSynchronized   = 0x00000040,
    GameInputDeviceWireless       = 0x00000080,
    GameInputDeviceUserIdle       = 0x00100000,
    GameInputDeviceAnyStatus      = 0x00FFFFFF
};
```

### v1

```cpp theme={null}
enum GameInputDeviceStatus
{
    GameInputDeviceNoStatus   = 0x00000000,
    GameInputDeviceConnected  = 0x00000001,
    GameInputDeviceAnyStatus  = 0xFFFFFFFF
};
```


## Related topics

- [GetDeviceStatus](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getdevicestatus.md)
- [GameInputDeviceCallback](https://docs.xbox.com/reference/input/gameinput/functions/gameinputdevicecallback.md)
- [GetHapticInfo](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_gethapticinfo.md)
- [IGameInput::RegisterDeviceCallback](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinput/methods/igameinput_registerdevicecallback.md)
- [GameInput API members](https://docs.xbox.com/reference/input/gameinput/gameinput_members.md)
