Skip to main content

IGameInput::CreateAggregateDevice

Creates a virtual IGameInputDevice instance which aggregates all input of the specified GameInputKind.

Syntax

Parameters

inputKind   _In_
Type: GameInputKind
The type of input which the returned virtual IGameInputDevice will aggregate readings for. deviceId   _Out_
Type: APP_LOCAL_DEVICE_ID*
The resulting device identifier for the aggregate device.

Return value

Type: HRESULT Function result. Failure returned when an unsupported GameInputKind is used or when attempting to combine GameInputKind flags.

Remarks

The input kind used for CreateAggregateDevice must be a single value from the GameInputKind enumeration. Combining GameInputKind flags is not supported. If an application needs aggregated input for multiple input kinds, it must create a virtual IGameInputDevice instance for each one.
This function is used to re-enable an aggregate device that may have been disabled by calling DisableAggregateDevice. It results in the device re-enabled rather than the creation of another instance.
The aggregate device will also emit status notification through callback registered by calling RegisterDeviceCallback. Aggregation is supported only for the following input kinds:
  • GameInputKindKeyboard
  • GameInputKindMouse
  • GameInputKindArcadeStick
  • GameInputKindFlightStick
  • GameInputKindGamepad
  • GameInputKindRacingWheel

Requirements

Header: GameInput.h Input API Overview
IGameInput

Version History

Last modified on August 4, 2026