---
title: HIDElement
framework: corehid
role: symbol
role_heading: Structure
path: corehid/hidelement
---

# HIDElement

A representation of an item from a report descriptor for a HID device.

## Declaration

```swift
struct HIDElement
```

## Mentioned in

Communicating with human interface devices

## Overview

Overview A HIDElement is an abstraction for the data in a HID report, and represents one item of data that could be sent or received in a report for a specific device. For example, for a mouse with a report descriptor that declares a report with 1 byte of data for each an X and a Y coordinate, there would be an element for the data associated with the X coordinate. If this element was monitored by a HIDDeviceClient, when an input report was received with an update to the X coordinate, a notification with the updated data would be sent to HIDDeviceClient.Notification.elementUpdates(values:). Elements are only received by requesting the elements for a specific device through a client’s elements property. See the HID specification for more details: https://www.usb.org/hid.

## Topics

### Structures

- [HIDElement.Value](corehid/hidelement/value.md)

### Instance Properties

- [client](corehid/hidelement/client.md)
- [logicalMaximum](corehid/hidelement/logicalmaximum.md)
- [logicalMinimum](corehid/hidelement/logicalminimum.md)
- [parentCollection](corehid/hidelement/parentcollection.md)
- [physicalMaximum](corehid/hidelement/physicalmaximum.md)
- [physicalMinimum](corehid/hidelement/physicalminimum.md)
- [reportID](corehid/hidelement/reportid.md)
- [reportSize](corehid/hidelement/reportsize.md)
- [type](corehid/hidelement/type.md)
- [unit](corehid/hidelement/unit.md)
- [unitExponent](corehid/hidelement/unitexponent.md)
- [usage](corehid/hidelement/usage.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Interaction

- [Communicating with human interface devices](corehid/communicatingwithhiddevices.md)
- [HIDDeviceClient](corehid/hiddeviceclient.md)
- [HIDElementCollection](corehid/hidelementcollection.md)
- [HIDElement.Value](corehid/hidelement/value.md)
- [HIDElementUpdate](corehid/hidelementupdate.md)
- [HIDReportType](corehid/hidreporttype.md)
- [HIDReportID](corehid/hidreportid.md)
- [HIDUsage](corehid/hidusage.md)
- [HIDDeviceError](corehid/hiddeviceerror.md)
- [HIDDeviceTransport](corehid/hiddevicetransport.md)
- [HIDDeviceLocalizationCode](corehid/hiddevicelocalizationcode.md)
