GameInputKind

Enumeration of valid GameInput device types.

Syntax

enum GameInputKind
{
    GameInputKindUnknown          = 0x00000000,
    GameInputKindRawDeviceReport  = 0x00000001,
    GameInputKindControllerAxis   = 0x00000002,
    GameInputKindControllerButton = 0x00000004,
    GameInputKindControllerSwitch = 0x00000008,
    GameInputKindController       = 0x0000000E,
    GameInputKindKeyboard         = 0x00000010,
    GameInputKindMouse            = 0x00000020,
    GameInputKindSensors          = 0x00000040,
    GameInputKindArcadeStick      = 0x00010000,
    GameInputKindFlightStick      = 0x00020000,
    GameInputKindGamepad          = 0x00040000,
    GameInputKindRacingWheel      = 0x00080000,
    GameInputKindLighting         = 0x00100000,
    GameInputKindSystemButton     = 0x00200000,
    GameInputKindTouch            = 0x00400000,
};

Constants

Constant Description
GameInputKindUnknown Indicates an unknown input type.
GameInputKindRawDeviceReport Indicates raw device report input. Use IGameInputReading::GetRawReport to get the raw report.
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.
GameInputKindLighting Indicates that the device has controllable lighting. This kind is output-only and never appears in readings. See IGameInputDevice::SetLightingColor.
GameInputKindSystemButton Indicates system button input, such as the Guide and Share buttons. See IGameInputReading::GetSystemButtonState.
GameInputKindTouch Indicates touch input. See IGameInputReading::GetTouchSurfaceState.

Remarks

GameInputKind are flag values and can be combined to filter on multiple devices. Parameter for IGameInput_GetCurrentReading. Returned by IGameInputReading_GetInputKind. Returned by IGameInputDevice::GetSupportedInput.

Requirements

Header: GameInput.h

Input API Overview
GameInput
IGameInput_GetCurrentReading
IGameInputReading_GetInputKind
IGameInputDevice::GetSupportedInput

Version History

Version Changes
v4 Added GameInputKindLighting (0x00100000), GameInputKindSystemButton (0x00200000), and GameInputKindTouch (0x00400000).
v3 Removed GameInputKindUiNavigation (0x01000000). Re-introduced GameInputKindRawDeviceReport (0x00000001).
v2 Added GameInputKindSensors (0x00000040).
v1 Removed GameInputKindRawDeviceReport (0x00000001), GameInputKindTouch (0x00000100), and GameInputKindMotion (0x00001000).
v0 Introduced.

Appendix: Previous versions

v0

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

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

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

v3

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