<!--
{
  "availability" : [
    "DriverKit: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "HIDDriverKit",
  "identifier" : "/documentation/HIDDriverKit/IOHIDElementCollectionType",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "HIDDriverKit"
    ],
    "preciseIdentifier" : "c:@E@IOHIDElementCollectionType"
  },
  "title" : "IOHIDElementCollectionType"
}
-->

# IOHIDElementCollectionType

Constants that indicate the types of relationships that exist between two or more elements.

```
enum IOHIDElementCollectionType : unsigned int;
```

## Topics

### Getting the Element Collection Types

[`kIOHIDElementCollectionTypePhysical`](/documentation/HIDDriverKit/IOHIDElementCollectionType/kIOHIDElementCollectionTypePhysical)

A collection in which the child elements are data points collected at one geometric point.

[`kIOHIDElementCollectionTypeApplication`](/documentation/HIDDriverKit/IOHIDElementCollectionType/kIOHIDElementCollectionTypeApplication)

A collection in which the child elements serve different purposes in a single device.

[`kIOHIDElementCollectionTypeLogical`](/documentation/HIDDriverKit/IOHIDElementCollectionType/kIOHIDElementCollectionTypeLogical)

A collection in which the child elements form a composite data structure.

[`kIOHIDElementCollectionTypeReport`](/documentation/HIDDriverKit/IOHIDElementCollectionType/kIOHIDElementCollectionTypeReport)

A collection that wraps all the other elements in a report.

[`kIOHIDElementCollectionTypeNamedArray`](/documentation/HIDDriverKit/IOHIDElementCollectionType/kIOHIDElementCollectionTypeNamedArray)

A collection in which the elements are an array of selector usages.

[`kIOHIDElementCollectionTypeUsageSwitch`](/documentation/HIDDriverKit/IOHIDElementCollectionType/kIOHIDElementCollectionTypeUsageSwitch)

A collection that modifies the meaning of the usage it contains.

[`kIOHIDElementCollectionTypeUsageModifier`](/documentation/HIDDriverKit/IOHIDElementCollectionType/kIOHIDElementCollectionTypeUsageModifier)

A collection that modifies the meaning of the usage attached to the encompassing collection.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)