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

# IOHIDElementType

The types of HID elements that you can examine.

```
enum IOHIDElementType : unsigned int;
```

## Overview

Use this type to identify the type of an element you are using. The type is also the value for the key `kIOHIDElementTypeKey` in the dictionary describing the element.

## Topics

### Getting the Element Types

[`kIOHIDElementTypeInput_Misc`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeInput_Misc)

The element contains an input data field of varying size.

[`kIOHIDElementTypeInput_Button`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeInput_Button)

The element contains a one-bit input data field.

[`kIOHIDElementTypeInput_Axis`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeInput_Axis)

The element contains an axis of movement.

[`kIOHIDElementTypeInput_ScanCodes`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeInput_ScanCodes)

The element contains an input field with a scan code or usage selector.

[`kIOHIDElementTypeInput_NULL`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeInput_NULL)

The element signals the end of an input data field in an input report.

[`kIOHIDElementTypeOutput`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeOutput)

The element contains a data field in an output report.

[`kIOHIDElementTypeFeature`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeFeature)

The element contains input and output data not intended for consumption by the end user.

[`kIOHIDElementTypeCollection`](/documentation/HIDDriverKit/IOHIDElementType/kIOHIDElementTypeCollection)

The element acts as a parent container for two or more related elements.



---

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)