---
title: Core HID
framework: Core HID
role: collection
role_heading: Framework
platforms: [macOS 15.0+]
path: corehid
---

# Core HID

Interact with keyboards, mice, and other human interface devices.

## Overview

Overview The CoreHID framework facilitates interaction with human interface devices (HID), like a keyboard, mouse, or other device. Interactions include receiving data that a device generates, such as a key press or mouse click. CoreHID also allows sending requests to a device, such as a request to turn on an LED. You can also emulate a device connected to the system, such as a virtual game controller, and send input to other apps without physical hardware.

To learn more about HID devices, see the USB standards website.

## Topics

### Discovery

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

### Interaction

- [Communicating with human interface devices](corehid/communicatingwithhiddevices.md)
- [HIDDeviceClient](corehid/hiddeviceclient.md)
- [HIDElement](corehid/hidelement.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)

### Simulation

- [Creating virtual devices](corehid/creatingvirtualdevices.md)
- [HIDVirtualDevice](corehid/hidvirtualdevice.md)
- [HIDVirtualDeviceDelegate](corehid/hidvirtualdevicedelegate.md)
- [HIDVirtualDevice.Properties](corehid/hidvirtualdevice/properties.md)
