Coding

Griffin PowerMate driver for modern macOS

A long-overdue update to the Griffin PowerMate's macOS driver finally brings native support for modern Apple operating systems, leveraging the system's HID API to restore the iconic rotary controller's functionality on Catalina and later versions, ending reliance on a third-party workaround. The open-source driver, developed by a community contributor, plugs a critical gap in the platform's accessibility for users with motor impairments. Compatibility spans PowerMate models from 2002 to 2010.

A community-developed open-source driver now brings the Griffin PowerMate — a USB rotary controller first released in 2002 — back to life on modern macOS versions. The driver, hosted on GitHub by developer James Lockman, replaces the long-defunct official software and eliminates the need for third-party workarounds that broke after macOS Catalina.

What it does

The PowerMate is a simple device: a knob you twist or press, with a blue LED in its base. The new driver, written in Swift 5.9+ for macOS 13+, reads the device's USB HID reports (VID 0x077d, PID 0x0410) and maps rotation and button presses to system actions. By default, turning the knob scrolls vertically; a short press acts as a left mouse click, and a long press as a right click. The driver also detects when a menu or submenu is focused (via the Accessibility API) and switches to arrow-key navigation in those contexts.

How to install

  1. Download the DMG from the GitHub repository and drag "PowerMate Agent" to your Applications folder.
  2. Launch the app. On first run, macOS will prompt for Input Monitoring permission — grant it in System Settings → Privacy & Security → Input Monitoring.
  3. Plug in your PowerMate. The driver uses kIOHIDOptionsTypeSeizeDevice for exclusive access, so quit any old PowerMate software first.
  4. A menu-bar icon lets you control behavior, including reversing scroll direction.

For developers, the driver is also available as a Swift package. Add it to your Package.swift, then use the PowerMateDriver class to map rotation and button events to custom actions — scroll, click, media keys, or anything else.

LED control

The driver exposes the PowerMate's blue LED for feedback. You can set static brightness (0–255), enable or disable the built-in pulse when the device is "asleep" or "awake", or configure a custom pulse pattern. LED commands use USB vendor control requests, matching the protocol of the Linux driver.

Tradeoffs

  • The driver requires macOS 13+ and Swift 5.9+. Older macOS versions are not supported.
  • Only one process can use the PowerMate at a time due to exclusive USB access.
  • Input Monitoring permission is required for the system-wide agent; Accessibility permission is needed for menu navigation.
  • The device does not report rotation speed directly — the driver derives it from the time between reports.

When to use it

If you own a Griffin PowerMate (any model from 2002–2010) and use macOS Catalina or later, this driver is the only reliable way to use it. It's particularly useful for video/audio editing, where a physical knob for scrolling or scrubbing remains ergonomically superior to a trackpad. The open-source nature also means developers can integrate the PowerMate into custom workflows — for example, as a volume control, a timeline scrubber, or a parameter adjuster in creative software.

Bottom line

The Griffin PowerMate is a two-decade-old device that never received official macOS support after the 32-bit-to-64-bit transition. This community driver fills that gap cleanly, with proper HID handling, LED control, and system-wide event mapping. It's a practical fix for anyone who still has the hardware and wants it to work on a modern Mac.

Similar Articles

More articles like this

Coding 1 min

Visual Studio Code 1.120

Visual Studio Code’s 1.120 update slashes debugging friction with native Data Breakpoints, letting engineers pause execution when specific object properties change—not just memory addresses. The release also bakes in GitHub Copilot-powered inline code completions for Python, JavaScript, and TypeScript, cutting keystrokes by up to 40% in early benchmarks, while a revamped terminal shell integration finally bridges the gap between local and remote workflows.

Coding 1 min

Library for fast mapping of Java records to native memory

A new Java library, TypedMemory, enables developers to efficiently map Java records to native memory using a novel combination of Java's record types and the Unsafe API, promising significant performance gains for applications reliant on low-level memory management. By leveraging the compiler's record type optimization, TypedMemory eliminates the need for manual memory layout specification, streamlining the development process. Early benchmarks indicate a 2x to 5x speedup over traditional approaches.

Coding 1 min

Bild AI (YC W25) Is Hiring Founding Product Engineers

Silicon Valley's Bild AI, a Y Combinator-backed startup, is seeking founding product engineers to spearhead the development of its conversational AI platform, which leverages a novel combination of transformer-based language models and reinforcement learning to drive user engagement and retention. The company's AI stack is built on top of a custom-designed, cloud-agnostic architecture that integrates with popular messaging platforms and APIs. As Bild AI expands its product offerings, it's looking for seasoned engineers to help shape its technical vision.

Coding 1 min

Students Boo Commencement Speaker After She Calls AI Next Industrial Revolution

As AI adoption accelerates, a growing disconnect between industry hype and on-the-ground realities is sparking backlash among students and workers, with a recent commencement speech at the University of Central Florida serving as a flashpoint. The speaker's assertion that AI represents the next industrial revolution was met with jeers and boos from the audience, highlighting a widening gap between the promise of automation and its actual impact on employment.

Coding 1 min

Software engineering may no longer be a lifetime career

The rise of AI-powered code generators threatens to disrupt the traditional career trajectory of software engineers, as automated tools capable of producing high-quality, production-ready code begin to erode the need for human expertise in routine programming tasks, potentially rendering the notion of a lifetime career in software engineering obsolete. This shift is driven by advances in large language models and their integration into development workflows.

Coding 1 min

I Work in Hollywood. Everyone Who Used to Make TV Is Now Training AI

The TV industry's creative talent is being rapidly repurposed as AI trainers, as former writers, directors, and producers leverage their storytelling expertise to fine-tune large language models and generate original content. This shift is driven by the growing demand for high-quality AI-generated scripts, dialogue, and narratives in the entertainment industry. Industry insiders estimate that up to 30% of former TV professionals are now employed in AI training roles.