Previous: Surf HeightHomeNext: Baby Business

Controllers

A macOS app that turns PlayStation, Xbox, Nintendo and other controllers into keyboard and mouse input.

role
Design and engineering
platform
macOS
stack
Objective-C, Core Data
url
controllersapp.com (opens in a new tab)

problem

Plenty of Mac games and apps only understand a keyboard and mouse, and macOS has no built-in way to map a controller to them. Some controllers, like wired Xbox pads, don't work on a Mac at all.

approach

layouts
Any button, stick or D-pad can send keys, combos, rapid fire, typed text, clicks or scrolling. Gyro can steer the cursor, and the PlayStation touchpad works as a trackpad.
per app
Each controller keeps its own layouts, and they switch automatically when a different app comes to the front.
drivers
A built-in driver adds wired Xbox controllers, which macOS doesn't support, and several controllers can play at once, including Joy-Con pairs.
timing
The cursor moves on the controller's own input thread instead of a timer, so it stays smooth when macOS Game Mode slows timers down.

result

Version 2.1.0 runs natively on Apple silicon and Intel Macs with macOS 11.3 or later. Layouts export and import as JSON, so a setup can move between Macs or be shared.

Previous: Surf HeightBack to ProjectsNext: Baby Business