<!--
{
  "availability" : [
    "DriverKit: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "HIDDriverKit",
  "identifier" : "/documentation/HIDDriverKit/IOHIDEventService",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "HIDDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOHIDEventService"
  },
  "title" : "IOHIDEventService"
}
-->

# IOHIDEventService

The base class for implementing a device or operating system service that dispatches events to the system.

```
class IOHIDEventService;
```

## Overview

An `IOHIDEventService` object receives data from a device and generates events for the operating system to handle. Typically, you implement an event service by subclassing [`IOUserHIDEventService`](/documentation/HIDDriverKit/IOUserHIDEventService), but you may also subclass `IOHIDEventService` directly if you want to parse input reports yourself. In both cases, use the methods of this class to send events to the operating system, which dispatches those events to relevant apps.

## Topics

### Dispatching Events

[`dispatchKeyboardEvent`](/documentation/HIDDriverKit/IOHIDEventService/dispatchKeyboardEvent)

Dispatches a keyboard-related event to the system.

[`dispatchRelativePointerEvent`](/documentation/HIDDriverKit/IOHIDEventService/dispatchRelativePointerEvent)

Dispatches a relative pointer event to the system.

[`dispatchAbsolutePointerEvent`](/documentation/HIDDriverKit/IOHIDEventService/dispatchAbsolutePointerEvent)

Dispatches an absolute pointer event to the system.

[`dispatchDigitizerStylusEvent`](/documentation/HIDDriverKit/IOHIDEventService/dispatchDigitizerStylusEvent)

Dispatches a digitizer stylus event to the system.

[`dispatchDigitizerTouchEvent`](/documentation/HIDDriverKit/IOHIDEventService/dispatchDigitizerTouchEvent)

Dispatches a digitizer touch event to the system.

[`dispatchRelativeScrollWheelEvent`](/documentation/HIDDriverKit/IOHIDEventService/dispatchRelativeScrollWheelEvent)

Dispatches a relative scroll wheel event to the system.

[`dispatchEvent`](/documentation/HIDDriverKit/IOHIDEventService/dispatchEvent)

Dispatches a HID event to the system.

[`IOHIDKeyboardEventOptions`](/documentation/HIDDriverKit/IOHIDKeyboardEventOptions)

Options that you use to dispatch keyboard events.

[`IOHIDPointerEventOptions`](/documentation/HIDDriverKit/IOHIDPointerEventOptions)

Options that you use to dispatch pointer-related events.

[`IOHIDScrollEventOptions`](/documentation/HIDDriverKit/IOHIDScrollEventOptions)

Options that you use to dispatch scrolling-related events.

### Configuring the LED Lights

[`SetLED`](/documentation/HIDDriverKit/IOHIDEventService/SetLED)

Configures the on/off state for an LED on the device.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)