GameInputDeviceStatus

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

Syntax

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

Constants

Constant Description
GameInputDeviceNoStatus The device has no status.
GameInputDeviceConnected The device is connected.
GameInputDeviceInputEnabled The device is enabled to receive input
GameInputDeviceOutputEnabled The GameInput device is enabled to transmit output
GameInputDeviceRawIoEnabled The device is enabled to send raw output to the game
GameInputDeviceAudioCapture The device is capable of capturing audio
GameInputDeviceAudioRender The device is capable of rendering audio
GameInputDeviceSynchronized The device is capable of synchronizing input
GameInputDeviceWireless The device is wireless, and connected to the device.
GameInputDeviceUserIdle The device is idle.
GameInputDeviceAnyStatus Will read 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.

The GameInputDeviceInputEnabled flag indicates whether the calling process is currently receiving input from the device. In certain special cases, overlay UI might steal input from the process temporarily. In that case, the process still has input focus but the "input enabled" flag is not set. When this flag is not set, the most current input reading from the device indicates a neutral or "at rest" state (i.e. no buttons being pressed, no movement, etc.).

The GameInputDeviceOutputEnabled flag indicates whether force, haptic, or rumble feedback is currently being sent to the device. A process can set state for these kinds of feedback at any time (even when it is in the background). However, the output will only be sent to the device if the process has input focus, and no other process is currently performing exclusive raw device I/O (discussed later in this document).

The GameInputDeviceRawIoEnabled flag indicates whether raw device I/O can be sent to the device. This flag is set if the process has input focus, and no other application is currently performing exclusive raw device I/O (discussed later in this document). It is also set if the process has acquired exclusive raw device I/O access.

The GameInputDeviceUserIdle flag indicates that no user-generated input has been received from the device for at least 20 seconds. This can be used by applications for a variety of purposes, e.g. pausing the game, or lowering the framerate to conserve battery power.

Applications can register to receive a callback when any of these states change, via the IGameInput::RegisterDeviceCallback method on the IGameInput interface.

Requirements

Header: GameInput.h

Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles

See also

Input API Overview
GameInput
IGameInput::RegisterDeviceCallback