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

# GameInputDeviceFamily

> GameInputDeviceFamily

# GameInputDeviceFamily

Enumerates families of input devices.

<a id="syntaxSection" />

## Syntax

```cpp theme={null}
enum GameInputDeviceFamily
{
    GameInputFamilyVirtual   = -1,
    GameInputFamilyUnknown   =  0,
    GameInputFamilyXboxOne   =  1,
    GameInputFamilyXbox360   =  2,
    GameInputFamilyHid       =  3,
    GameInputFamilyI8042     =  4,
    GameInputFamilyAggregate =  5,
};
```

<a id="constantsSection" />

## Constants

| Constant                 | Description                                                     |
| ------------------------ | --------------------------------------------------------------- |
| GameInputFamilyVirtual   | Represents a virtualized input device on the platform.          |
| GameInputFamilyUnknown   | Represents an unknown device family.                            |
| GameInputFamilyXboxOne   | Represents a device managed by the XboxGIP or XInputHID drivers |
| GameInputFamilyXbox360   | Represents a device managed by the XUSB22 driver                |
| GameInputFamilyHid       | Represents a generic Human Interface Device (HID).              |
| GameInputFamilyI8042     | Represents an input device connected via an i8042 bus.          |
| GameInputFamilyAggregate | Represents an aggregate input device.                           |

<a id="remarksSection" />

## Remarks

This enumeration is used in the [GameInputDeviceInfo](/reference/input/gameinput/structs/gameinputkeyboardinfo) structure. `GameInputDeviceInfo` is used by the [GetDeviceInfo](/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getdeviceinfo) function.

For more information, see [GameInput devices](/build/core-features/common/input/overviews/input-devices).

<a id="requirementsSection" />

## Requirements

**Header:** GameInput.h

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

<a id="seealsoSection" />

## See also

[Overview of GameInput](/build/core-features/common/input/overviews/input-overview)\
[GameInput](/reference/input/gameinput/gameinput_members)

## Version History

| Version | Changes                                                                                                                                                        |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **v3**  | **Added** `GameInputFamilyUnknown` (value 0). **Renumbered** `GameInputFamilyAggregate` from value 0 to value 5 following implementation of aggregate devices. |
| **v0**  | Introduced.                                                                                                                                                    |

## Appendix: Previous versions

### v0

```cpp theme={null}
enum GameInputDeviceFamily
{
    GameInputFamilyVirtual   = -1,
    GameInputFamilyAggregate =  0,
    GameInputFamilyXboxOne   =  1,
    GameInputFamilyXbox360   =  2,
    GameInputFamilyHid       =  3,
    GameInputFamilyI8042     =  4,
};
```


## Related topics

- [GameInput](/reference/input/gameinput/gameinput_members.md)
- [GameInputDeviceInfo](/reference/input/gameinput/structs/gameinputdeviceinfo.md)
- [IGameInputDevice](/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [IGameInputDevice::CreateRawDeviceReport](/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)
- [IGameInputDevice::SendRawDeviceOutput](/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_sendrawdeviceoutput.md)
