Briefing

Griffin PowerMate macOS Driver Release

security
by classichasclass ·

Configure: Build the driver, grant Input Monitoring and Accessibility permissions, and add to login items for persistent use.

What to do now

Configure: Build the driver, grant Input Monitoring and Accessibility permissions, and add to login items for persistent use.

Summary

The Griffin PowerMate driver for macOS is a small, Swift‑based library that allows developers to integrate the legacy PowerMate knob into modern macOS applications. The driver opens the device (VID 0x077d, PID 0x0410) over USB HID, reads six‑byte reports, and exposes rotation and button events that can be mapped to scroll, click, or custom actions. A system‑wide agent, PowerMateAgent, turns the knob into standard keyboard and scroll events, enabling any application to receive the input without additional code. The driver also provides LED control functions, letting developers set brightness, pulse, or custom patterns. It requires macOS 13+, Swift 5.9+, and Input Monitoring and Accessibility permissions, and can run in the background or be added to login items for persistence.

The repository includes a demo app that prints events and instructions for building, notarizing, and distributing the driver. The driver uses IOHIDManager with kIOHIDOptionsTypeSeizeDevice to claim exclusive access, ensuring no other process can use the device simultaneously. Developers can integrate the driver as a Swift package, mapping rotation and button events to custom callbacks or delegate methods.

Key changes

  • New macOS driver for Griffin PowerMate (VID 0x077d, PID 0x0410) that reads six‑byte reports.
  • Exposes rotation and button events via a Swift package that can be mapped to scroll, click, or custom actions.
  • Provides LED control functions (brightness, pulse, custom patterns) accessible through the driver API.
  • System‑wide agent, PowerMateAgent, turns knob input into standard keyboard and scroll events for any application.
  • Requires macOS 13+, Swift 5.9+, Input Monitoring and Accessibility permissions, and can run in the background or be added to login items.
  • Uses IOHIDManager with kIOHIDOptionsTypeSeizeDevice to claim exclusive access, preventing other processes from using the device.
  • Includes a demo app that prints events and provides build, notarize, and distribution instructions.
  • Supports integration as a Swift package with callbacks or delegate methods for rotation and button events.

Affects

internal

Customer impact

Analyzing matches…

Ask about this story

Impact on an agency? Which customers? Compare historically Risks of waiting