Framework

HIDDriverKit

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

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 SystemExtensions framework to install and upgrade the driver on the user’s Mac.

Topics

Essentials

com.apple.developer.driverkit.transport.hid

A Boolean value that indicates whether to match the driver against a HID interface.

HID Interfaces

com.apple.developer.driverkit.family.hid.eventservice

A Boolean value that indicates whether to match the driver against a HID event service.

IOUserHIDEventDriver

IOService represents a device or OS service in IOKit and DriverKit.

IOUserHIDEventService

A class that represents a device or OS service in IOKit and DriverKit.

IOHIDEventService

A class that represents a device or OS service in IOKit and DriverKit.

IOHIDInterface

A class that represents a device or OS service in IOKit and DriverKit.

IOHIDDigitizerStylusData

A structure containing the current digitizer stylus data.

IOHIDDigitizerTouchData

A structure containing the current digitizer touch data.

Providers

com.apple.developer.driverkit.family.hid.device

A Boolean value that indicates whether to match the driver against a HID device.

IOUserUSBHostHIDDevice

A class that represents a device or OS service in IOKit and DriverKit.

IOUserHIDDevice

A class that represents a device or OS service in IOKit and DriverKit.

IOHIDDevice

A class that represents a device or OS service in IOKit and DriverKit.

HID Usage Tables

HID Usage Tables

Identify the types of data that HID devices can generate for your driver.

HID Device Data

IOHIDElement

The base class for DriverKit container objects.

IOHIDDigitizerCollection

A collection of elements that contain digitizer-related data.

com.apple.developer.hid.virtual.device

A Boolean value that indicates whether the driver creates a virtual HID device.

Low-Level Information

Understand the underlying structures that support HID drivers.