---
title: Match Criteria
framework: hiddriverkit
role: collectionGroup
path: hiddriverkit/match-criteria
---

# Match Criteria

Specify the criteria that the system uses to match your driver to a device.

## Overview

Overview When the system detects a new device, it looks for drivers that match the device’s features and capabilities. You specify the features and capabilities that your driver supports using the IOKitPersonalities key of your driver’s Info.plist file. The IOKitPersonalities key contains the array of driver personality dictionaries, the keys of which correspond to device-specific attributes. For example, you might specify the HID usage types that your driver supports. The keys below are constants defined in the IOHIDDeviceKeys.h header file of HIDDriverKit. To match against a specific key, include the value of the key in the personality dictionary. For example, to match against kIOHIDPrimaryUsageKey, include the PrimaryUsage string in your Info.plist file.

## Topics

### Manufacturer Keys

- [kIOHIDTransportKey](iokit/kiohidtransportkey.md)
- [kIOHIDVendorIDKey](iokit/kiohidvendoridkey.md)
- [kIOHIDProductIDKey](iokit/kiohidproductidkey.md)
- [kIOHIDVersionNumberKey](iokit/kiohidversionnumberkey.md)
- [kIOHIDManufacturerKey](iokit/kiohidmanufacturerkey.md)
- [kIOHIDProductKey](iokit/kiohidproductkey.md)
- [kIOHIDSerialNumberKey](iokit/kiohidserialnumberkey.md)

### Location Keys

- [kIOHIDCountryCodeKey](iokit/kiohidcountrycodekey.md)
- [kIOHIDLocationIDKey](iokit/kiohidlocationidkey.md)

### Usage Keys

- [kIOHIDDeviceUsageKey](iokit/kiohiddeviceusagekey.md)
- [kIOHIDDeviceUsagePageKey](iokit/kiohiddeviceusagepagekey.md)
- [kIOHIDDeviceUsagePairsKey](iokit/kiohiddeviceusagepairskey.md)
- [kIOHIDPrimaryUsageKey](iokit/kiohidprimaryusagekey.md)
- [kIOHIDPrimaryUsagePageKey](iokit/kiohidprimaryusagepagekey.md)

## See Also

### HID Usage Tables

- [HID Usage Tables](hiddriverkit/hid-usage-tables.md)
