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

有效 GameInput 设备类型的枚举。

## 语法

```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,
};
```

## 常量

| 常量                            | 说明              |
| ----------------------------- | --------------- |
| GameInputKindUnknown          | 表示未知的输入类型。      |
| GameInputKindControllerAxis   | 表示来自摇杆的控制器输入。   |
| GameInputKindControllerButton | 表示来自按钮的控制器输入。   |
| GameInputKindControllerSwitch | 表示来自开关的控制器输入。   |
| GameInputKindController       | 表示轴、按钮和开关输入的组合。 |
| GameInputKindKeyboard         | 表示键盘输入。         |
| GameInputKindMouse            | 表示鼠标输入。         |
| GameInputKindSensors          | 表示传感器输入。        |
| GameInputKindArcadeStick      | 表示街机摇杆输入。       |
| GameInputKindFlightStick      | 表示飞行摇杆输入。       |
| GameInputKindGamepad          | 表示游戏手柄输入。       |
| GameInputKindRacingWheel      | 表示赛车方向盘输入。      |

## 备注

GameInputKind 是标志值，可以组合起来对多个设备进行筛选。
[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) 的成员。

## 要求

**标头：** GameInput.h

[输入 API 概述](/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)

## 版本历史

| 版本     | 变更                                                                                                                         |
| ------ | -------------------------------------------------------------------------------------------------------------------------- |
| **v3** | **移除** `GameInputKindUiNavigation` (0x01000000) 和 `GameInputKindRawDeviceReport` (0x00000001)。                             |
| **v2** | **新增** `GameInputKindSensors` (0x00000040)。                                                                                |
| **v1** | **移除** `GameInputKindRawDeviceReport` (0x00000001)、`GameInputKindTouch` (0x00000100) 和 `GameInputKindMotion` (0x00001000)。 |
| **v0** | 引入。                                                                                                                        |

## 附录：以前的版本

### 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](/zh-CN/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getinputkind.md)
- [IGameInputReading::GetSequenceNumber](/zh-CN/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getsequencenumber.md)
- [IGameInput::CreateAggregateDevice](/zh-CN/reference/input/gameinput/interfaces/igameinput/methods/igameinput_createaggregatedevice.md)
- [IGameInput::GetNextReading](/zh-CN/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getnextreading.md)
- [IGameInput::GetPreviousReading](/zh-CN/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getpreviousreading.md)
