---
title: HIDDriverKit
framework: HIDDriverKit
role: collection
role_heading: Framework
platforms: [driverkit 19.0+, macOS 10.15+]
path: hiddriverkit
---

# HIDDriverKit

Develop drivers for human-interface devices, such as keyboards, pointing devices, and digitizers like pens and touch pads.

## Overview

Overview The HIDDriverKit framework provides C++ classes for developing drivers for human interface devices. HIDDriverKit uses the core types defined in DriverKit, and adds features specific to human interface device development. Develop your driver with DriverKit and HIDDriverKit, and package it in an app that uses the System Extensions framework to install and upgrade the driver on the user’s Mac. note: HIDDriverKit is available on macOS.

## Topics

### Essentials

- [com.apple.developer.driverkit.transport.hid](bundleresources/entitlements/com.apple.developer.driverkit.transport.hid.md)
- [Handling Keyboard Events from a Human Interface Device](hiddriverkit/handling-keyboard-events-from-a-human-interface-device.md)
- [Handling Stylus Input from a Human Interface Device](hiddriverkit/handling-stylus-input-from-a-human-interface-device.md)

### Samples

- [DriverKit sample code](driverkit/driverkit-sample-code.md)

### Driver Interfaces

- [com.apple.developer.driverkit.family.hid.eventservice](bundleresources/entitlements/com.apple.developer.driverkit.family.hid.eventservice.md)
- [IOUserHIDEventDriver](hiddriverkit/iouserhideventdriver.md)
- [IOUserHIDEventService](hiddriverkit/iouserhideventservice.md)
- [IOHIDEventService](hiddriverkit/iohideventservice.md)

### Providers

- [com.apple.developer.driverkit.family.hid.device](bundleresources/entitlements/com.apple.developer.driverkit.family.hid.device.md)
- [IOHIDInterface](hiddriverkit/iohidinterface.md)
- [IOUserUSBHostHIDDevice](hiddriverkit/iouserusbhosthiddevice.md)
- [IOUserHIDDevice](hiddriverkit/iouserhiddevice.md)
- [IOHIDDevice](hiddriverkit/iohiddevice.md)

### Events

- [IOHIDDigitizerStylusData](hiddriverkit/iohiddigitizerstylusdata.md)
- [IOHIDDigitizerTouchData](hiddriverkit/iohiddigitizertouchdata.md)

### HID Usage Tables

- [HID Usage Tables](hiddriverkit/hid-usage-tables.md)
- [Match Criteria](hiddriverkit/match-criteria.md)

### HID Device Data

- [IOHIDElement](hiddriverkit/iohidelement.md)
- [IOHIDDigitizerCollection](hiddriverkit/iohiddigitizercollection.md)
- [com.apple.developer.hid.virtual.device](bundleresources/entitlements/com.apple.developer.hid.virtual.device.md)
- [Low-Level Information](hiddriverkit/low-level-information.md)

### Reference

- [HIDDriverKit Macros](hiddriverkit/hiddriverkit-macros.md)

### Macros

- [kIOHIDDeviceApprovedCarPlayDeviceKey](hiddriverkit/kiohiddeviceapprovedcarplaydevicekey.md)
- [kIOHIDDeviceCarPlayDeviceKey](hiddriverkit/kiohiddevicecarplaydevicekey.md)
- [kIOHIDDeviceHIDRMHashKey](hiddriverkit/kiohiddevicehidrmhashkey.md)
- [kIOHIDEventServicePropertiesRequiredForMatching](hiddriverkit/kiohideventservicepropertiesrequiredformatching.md)
- [kIOHIDEventServiceSensorControlOptionsKey](hiddriverkit/kiohideventservicesensorcontroloptionskey.md)
- [kIOHIDSupportedEventMaskKey](hiddriverkit/kiohidsupportedeventmaskkey.md)
- [kIOHIDSupportedKeyboardUsagePairsKey](hiddriverkit/kiohidsupportedkeyboardusagepairskey.md)
- [kIOHIDSupportedVendorUsagePairsKey](hiddriverkit/kiohidsupportedvendorusagepairskey.md)

### Enumeration Cases

- [kHIDUsage_GenDevControls_BatteryStrength](hiddriverkit/khidusage_gendevcontrols_batterystrength.md)
- [kHIDUsage_LED_BlueLEDChannel](hiddriverkit/khidusage_led_blueledchannel.md)
- [kHIDUsage_LED_GoodStatus](hiddriverkit/khidusage_led_goodstatus.md)
- [kHIDUsage_LED_GreenLEDChannel](hiddriverkit/khidusage_led_greenledchannel.md)
- [kHIDUsage_LED_IndicatorBlue](hiddriverkit/khidusage_led_indicatorblue.md)
- [kHIDUsage_LED_IndicatorOrange](hiddriverkit/khidusage_led_indicatororange.md)
- [kHIDUsage_LED_LEDIntensity](hiddriverkit/khidusage_led_ledintensity.md)
- [kHIDUsage_LED_RGB_LED](hiddriverkit/khidusage_led_rgb_led.md)
- [kHIDUsage_LED_RedLEDChannel](hiddriverkit/khidusage_led_redledchannel.md)
- [kHIDUsage_LED_SystemMicrophoneMute](hiddriverkit/khidusage_led_systemmicrophonemute.md)
- [kHIDUsage_LED_WarningStatus](hiddriverkit/khidusage_led_warningstatus.md)
- [kHIDUsage_Snsr_Biometric_HeartRate](hiddriverkit/khidusage_snsr_biometric_heartrate.md)
- [kHIDUsage_Snsr_Data_Biometric_HeartRate](hiddriverkit/khidusage_snsr_data_biometric_heartrate.md)
- [kHIDUsage_Snsr_Data_Hinge](hiddriverkit/khidusage_snsr_data_hinge.md)
- [kHIDUsage_Snsr_Data_Hinge_Angle](hiddriverkit/khidusage_snsr_data_hinge_angle.md)
- [kHIDUsage_Snsr_Motion_GravityVector](hiddriverkit/khidusage_snsr_motion_gravityvector.md)
- [kHIDUsage_Snsr_Motion_LinearAccelerometer](hiddriverkit/khidusage_snsr_motion_linearaccelerometer.md)
- [kHIDUsage_Snsr_Other_HingeAngle](hiddriverkit/khidusage_snsr_other_hingeangle.md)

### Enumerations

- [IOHIDServiceSensorControlOptions](hiddriverkit/iohidservicesensorcontroloptions.md)
