---
title: HIDDeviceManager.DeviceMatchingCriteria
framework: corehid
role: symbol
role_heading: Structure
path: corehid/hiddevicemanager/devicematchingcriteria
---

# HIDDeviceManager.DeviceMatchingCriteria

Matching criteria used to filter HID devices.

## Declaration

```swift
struct DeviceMatchingCriteria
```

## Mentioned in

Communicating with human interface devices

## Overview

Overview Use this class to filter the HID devices on the system using common properties, such as HIDUsage. All matching parameters are specified using init(primaryUsage:deviceUsages:vendorID:productID:transport:product:manufacturer:modelNumber:versionNumber:serialNumber:uniqueID:locationID:localizationCode:isBuiltIn:extraProperties:). Uncommon criteria not available as properties can be specified in the extraProperties parameter of init.

## Topics

### Initializers

- [init(primaryUsage:deviceUsages:vendorID:productID:transport:product:manufacturer:modelNumber:versionNumber:serialNumber:uniqueID:locationID:localizationCode:isBuiltIn:extraProperties:)](corehid/hiddevicemanager/devicematchingcriteria/init(primaryusage:deviceusages:vendorid:productid:transport:product:manufacturer:modelnumber:versionnumber:serialnumber:uniqueid:locationid:localizationcode:isbuiltin:extraproperties:).md)

### Instance Properties

- [deviceUsages](corehid/hiddevicemanager/devicematchingcriteria/deviceusages.md)
- [isBuiltIn](corehid/hiddevicemanager/devicematchingcriteria/isbuiltin.md)
- [localizationCode](corehid/hiddevicemanager/devicematchingcriteria/localizationcode.md)
- [locationID](corehid/hiddevicemanager/devicematchingcriteria/locationid.md)
- [manufacturer](corehid/hiddevicemanager/devicematchingcriteria/manufacturer.md)
- [modelNumber](corehid/hiddevicemanager/devicematchingcriteria/modelnumber.md)
- [primaryUsage](corehid/hiddevicemanager/devicematchingcriteria/primaryusage.md)
- [product](corehid/hiddevicemanager/devicematchingcriteria/product.md)
- [productID](corehid/hiddevicemanager/devicematchingcriteria/productid.md)
- [serialNumber](corehid/hiddevicemanager/devicematchingcriteria/serialnumber.md)
- [transport](corehid/hiddevicemanager/devicematchingcriteria/transport.md)
- [uniqueID](corehid/hiddevicemanager/devicematchingcriteria/uniqueid.md)
- [vendorID](corehid/hiddevicemanager/devicematchingcriteria/vendorid.md)
- [versionNumber](corehid/hiddevicemanager/devicematchingcriteria/versionnumber.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Discovery

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