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
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.