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

# GameInputKind

> GameInputKind

# GameInputKind

Enumeration of valid GameInput device types.

## Syntax

```cpp theme={null}
enum GameInputKind
{
    GameInputKindUnknown          = 0x00000000,
    GameInputKindControllerAxis   = 0x00000002,
    GameInputKindControllerButton = 0x00000004,
    GameInputKindControllerSwitch = 0x00000008,
    GameInputKindController       = 0x0000000E,
    GameInputKindKeyboard         = 0x00000010,
    GameInputKindMouse            = 0x00000020,
    GameInputKindSensors          = 0x00000040,
    GameInputKindArcadeStick      = 0x00010000,
    GameInputKindFlightStick      = 0x00020000,
    GameInputKindGamepad          = 0x00040000,
    GameInputKindRacingWheel      = 0x00080000,
};
```

## Constants

| Constant                      | Description                                                 |
| ----------------------------- | ----------------------------------------------------------- |
| GameInputKindUnknown          | Indicates an unknown input type.                            |
| GameInputKindControllerAxis   | Indicates controller input from sticks.                     |
| GameInputKindControllerButton | Indicates controller input from buttons.                    |
| GameInputKindControllerSwitch | Indicates controller input from switches.                   |
| GameInputKindController       | Indicates a combination of axis, button, and switch inputs. |
| GameInputKindKeyboard         | Indicates keyboard input.                                   |
| GameInputKindMouse            | Indicates mouse input.                                      |
| GameInputKindSensors          | Indicates sensor input.                                     |
| GameInputKindArcadeStick      | Indicates arcade stick input.                               |
| GameInputKindFlightStick      | Indicates flight stick input.                               |
| GameInputKindGamepad          | Indicates gamepad input.                                    |
| GameInputKindRacingWheel      | Indicates racing wheel input.                               |

## Remarks

GameInputKind are flag values and can be combined to filter on multiple devices.
Parameter for [IGameInput\_GetCurrentReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading).
Returned by [IGameInputReading\_GetInputKind](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind).
Member of [GameInputDeviceInfo](/reference/input/gameinput/structs/gameinputdeviceinfo).

## Requirements

**Header:** GameInput.h

[Input API Overview](/build/core-features/common/input/overviews/input-overview)\
[GameInput](/reference/input/gameinput/gameinput_members)\
[IGameInput\_GetCurrentReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrentreading)\
[IGameInputReading\_GetInputKind](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind)\
[GameInputDeviceInfo](/reference/input/gameinput/structs/gameinputdeviceinfo)

## Version History

| Version | Changes                                                                                                                             |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **v3**  | **Removed** `GameInputKindUiNavigation` (0x01000000) and `GameInputKindRawDeviceReport` (0x00000001).                               |
| **v2**  | **Added** `GameInputKindSensors` (0x00000040).                                                                                      |
| **v1**  | **Removed** `GameInputKindRawDeviceReport` (0x00000001), `GameInputKindTouch` (0x00000100), and `GameInputKindMotion` (0x00001000). |
| **v0**  | Introduced.                                                                                                                         |

## Appendix: Previous versions

### v0

```cpp theme={null}
enum GameInputKind
{
    GameInputKindUnknown          = 0x00000000,
    GameInputKindRawDeviceReport  = 0x00000001,
    GameInputKindControllerAxis   = 0x00000002,
    GameInputKindControllerButton = 0x00000004,
    GameInputKindControllerSwitch = 0x00000008,
    GameInputKindController       = 0x0000000E,
    GameInputKindKeyboard         = 0x00000010,
    GameInputKindMouse            = 0x00000020,
    GameInputKindTouch            = 0x00000100,
    GameInputKindMotion           = 0x00001000,
    GameInputKindArcadeStick      = 0x00010000,
    GameInputKindFlightStick      = 0x00020000,
    GameInputKindGamepad          = 0x00040000,
    GameInputKindRacingWheel      = 0x00080000,
    GameInputKindUiNavigation     = 0x01000000,
};
```

### v1

```cpp theme={null}
enum GameInputKind
{
    GameInputKindUnknown          = 0x00000000,
    GameInputKindControllerAxis   = 0x00000002,
    GameInputKindControllerButton = 0x00000004,
    GameInputKindControllerSwitch = 0x00000008,
    GameInputKindController       = 0x0000000E,
    GameInputKindKeyboard         = 0x00000010,
    GameInputKindMouse            = 0x00000020,
    GameInputKindArcadeStick      = 0x00010000,
    GameInputKindFlightStick      = 0x00020000,
    GameInputKindGamepad          = 0x00040000,
    GameInputKindRacingWheel      = 0x00080000,
    GameInputKindUiNavigation     = 0x01000000,
};
```

### v2

```cpp theme={null}
enum GameInputKind
{
    GameInputKindUnknown          = 0x00000000,
    GameInputKindControllerAxis   = 0x00000002,
    GameInputKindControllerButton = 0x00000004,
    GameInputKindControllerSwitch = 0x00000008,
    GameInputKindController       = 0x0000000E,
    GameInputKindKeyboard         = 0x00000010,
    GameInputKindMouse            = 0x00000020,
    GameInputKindSensors          = 0x00000040,
    GameInputKindArcadeStick      = 0x00010000,
    GameInputKindFlightStick      = 0x00020000,
    GameInputKindGamepad          = 0x00040000,
    GameInputKindRacingWheel      = 0x00080000,
    GameInputKindUiNavigation     = 0x01000000,
};
```


## Related topics

- [IGameInputReading::GetInputKind](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind.md)
- [IGameInputReading::GetSequenceNumber](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getsequencenumber.md)
- [IGameInput::GetNextReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getnextreading.md)
- [IGameInput::CreateAggregateDevice](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_createaggregatedevice.md)
- [IGameInput::GetPreviousReading](/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getpreviousreading.md)
