> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInputDeviceFamily

> GameInputDeviceFamily

Enumerates families of input devices.

## Syntax

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

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

## Remarks

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

For more information, see [GameInput devices](https://docs.xbox.com/build/core-features/common/input/overviews/input-devices.md).

## Requirements

**Header:** GameInput.h

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

## See also

[Overview of GameInput](https://docs.xbox.com/build/core-features/common/input/overviews/input-overview.md)\
[GameInput](https://docs.xbox.com/reference/input/gameinput/gameinput_members.md)

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

- [GameInputDeviceInfo](https://docs.xbox.com/reference/input/gameinput/structs/gameinputdeviceinfo.md)
- [GameInput API members](https://docs.xbox.com/reference/input/gameinput/gameinput_members.md)
- [IGameInputDevice (Interface contents)](https://docs.xbox.com/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)
- [GameInputRawDeviceReportKind](https://docs.xbox.com/reference/input/gameinput/enums/gameinputrawdevicereportkind.md)
- [GameInputRawDeviceReportInfo](https://docs.xbox.com/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md)
