DriverKit Access to Built-In MacBook Trackpad Raw HID Reports

We are trying to intercept raw reports from the built-in MacBook haptic trackpad using a DriverKit IOUserHIDEventDriver dext.

Our dext installs and activates successfully:

  • OSSystemExtensionRequest finishes with result 0
  • systemextensionsctl list shows the dext as activated enabled
  • the dext is embedded correctly in the app bundle

However, it never attaches to the built-in trackpad IOHIDInterface. ioreg shows the built-in trackpad interface still matched only by Apple’s HID dext. We also observed that Apple’s own HID dext appears to use com.apple.developer.driverkit.builtin, while that entitlement is not available in our provisioning profile.

Our dext specifically relies on:

  • IOUserHIDEventDriver::handleReport(...)
  • SetProperties() with kIOHIDEventDriverHandlesReport

Questions:

  1. Is com.apple.developer.driverkit.builtin required for a third-party IOUserHIDEventDriver to match a built-in internal trackpad IOHIDInterface?
  2. Is that entitlement public/requestable, or Apple-internal only?
  3. At what stage is it enforced: activation, personality matching, provider attach, or before Start()?
  4. If builtin is not available to third parties, is there any officially supported way to receive raw reports from the built-in MacBook trackpad in DriverKit?

Our conclusion so far is that activation succeeds, but provider binding to the built-in trackpad fails due to built-in-only authorization/matching.

DriverKit Access to Built-In MacBook Trackpad Raw HID Reports
 
 
Q