---
title: HID
framework: kernel
role: collectionGroup
role_heading: API Collection
path: kernel/hardware_families/hid
---

# HID

Implement a driver that interacts with human interface devices, such as mice and keyboards.

## Overview

Overview The use of kernel extensions for HID drivers is deprecated. Instead, create a DriverKit extension using HIDDriverKit.

## Topics

### Reports

- [IOHIDReportType](kernel/iohidreporttype.md)
- [HIDReportCommandType](kernel/hidreportcommandtype.md)
- [IOHIDCompletion](kernel/iohidcompletion.md)
- [IOHIDCompletionAction](kernel/iohidcompletionaction.md)

### Event Types

- [IOHIDBiometricEventType](kernel/iohidbiometriceventtype.md)
- [IOHIDPointerEventOptions](kernel/iohidpointereventoptions.md)
- [IOHIDOptionsType](kernel/iohidoptionstype.md)
- [IOHIDStandardType](kernel/iohidstandardtype.md)
- [IOHIDValueScaleType](kernel/iohidvaluescaletype.md)
- [IOHIDKeyboardEventOptions](kernel/iohidkeyboardeventoptions.md)
- [IOHIDScrollEventOptions](kernel/iohidscrolleventoptions.md)
- [IOHIDEventType](kernel/iohideventtype.md)

### HID Elements

- [IOHIDElementCollectionType](kernel/iohidelementcollectiontype.md)
- [IOHIDElementCommitDirection](kernel/iohidelementcommitdirection.md)
- [IOHIDElementCookie](kernel/iohidelementcookie.md)
- [IOHIDElementFlags](kernel/iohidelementflags.md)
- [IOHIDElementType](kernel/iohidelementtype.md)
- [IOHIDValueOptions](kernel/iohidvalueoptions.md)

### HID Types

- [IOHIDButtonModes](kernel/iohidbuttonmodes.md)
- [IOHIDDigitizerStylusData](kernel/iohiddigitizerstylusdata.md)
- [IOHIDDigitizerTouchData](kernel/iohiddigitizertouchdata.md)
- [IOHIDQueueOptionsType](kernel/iohidqueueoptionstype.md)
- [NXByteOrder](kernel/nxbyteorder.md)
- [NXEQElement](kernel/nxeqelement.md)
- [NXEvent](kernel/nxevent.md)
- [NXEventData](kernel/nxeventdata.md)
- [NXEventExt](kernel/nxeventext.md)
- [NXEventExtension](kernel/nxeventextension.md)
- [NXEventPtr](kernel/nxeventptr.md)
- [NXEventSystemDevice](kernel/nxeventsystemdevice.md)
- [NXEventSystemDeviceList](kernel/nxeventsystemdevicelist.md)
- [NXEventSystemInfoData](kernel/nxeventsysteminfodata.md)
- [NXEventSystemInfoType](kernel/nxeventsysteminfotype.md)
- [NXKeyMapping](kernel/nxkeymapping.md)
- [NXMouseButton](kernel/nxmousebutton.md)
- [NXMouseScaling](kernel/nxmousescaling.md)
- [NXParsedKeyMapping](kernel/nxparsedkeymapping.md)
- [NXSwappedDouble](kernel/nxswappeddouble.md)
- [NXSwappedFloat](kernel/nxswappedfloat.md)
- [NXTabletPointData](kernel/nxtabletpointdata.md)
- [NXTabletPointDataPtr](kernel/nxtabletpointdataptr.md)
- [NXTabletProximityData](kernel/nxtabletproximitydata.md)
- [NXTabletProximityDataPtr](kernel/nxtabletproximitydataptr.md)

## See Also

### Interfaces

- [Audio](kernel/hardware_families/audio.md)
- [Graphics and Displays](kernel/hardware_families/graphics_and_displays.md)
- [Network](kernel/hardware_families/network.md)
- [SCSI](kernel/hardware_families/scsi.md)
- [Mass Storage](kernel/hardware_families/mass_storage.md)
