---
title: HIDDeviceManager
framework: corehid
role: symbol
role_heading: Class
path: corehid/hiddevicemanager
---

# HIDDeviceManager

A helper for discovering human interface devices (HID) connected to the system.

## Declaration

```swift
actor HIDDeviceManager
```

## Mentioned in

Communicating with human interface devices

## Overview

Overview Use this class to specify matching criteria to filter all of the discoverable devices connected to the system into devices of interest. This is the main method of receiving a HIDDeviceClient.DeviceReference used to create a HIDDeviceClient. Matching criteria are specified by creating HIDDeviceManager.DeviceMatchingCriteria and passing them to monitorNotifications(matchingCriteria:). References to devices that match the criteria are received using HIDDeviceManager.Notification.deviceMatched(_:) notifications.

## Topics

### Create a device manager

- [init()](corehid/hiddevicemanager/init().md)

### Monitor device notifications

- [monitorNotifications(matchingCriteria:)](corehid/hiddevicemanager/monitornotifications(matchingcriteria:).md)
- [HIDDeviceManager.Notification](corehid/hiddevicemanager/notification.md)

### Structures

- [HIDDeviceManager.DeviceMatchingCriteria](corehid/hiddevicemanager/devicematchingcriteria.md)

## Relationships

### Conforms To

- [Actor](swift/actor.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Discovery

- [Discovering HID devices from Terminal](corehid/discoveringhiddevicesfromterminal.md)
- [HIDDeviceManager.DeviceMatchingCriteria](corehid/hiddevicemanager/devicematchingcriteria.md)
