Controller support
Every pad does the core. Here's what each one adds.
Steer turns a game controller into a way to run your Mac. Cursor, scroll, typing, and every shortcut you map work on any supported controller. The extras (adaptive triggers, the light bar, the touchpad, tilt-to-aim) depend on what the hardware can actually do. Every gap and caveat is in the table.
Which controllers work?
DualSense and DualSense Edge, DualShock 4, Xbox Series, Xbox One, and Xbox Elite, Switch Pro, and most other controllers that pair with a Mac (anything Apple calls MFi, its label for made-for-Apple accessories). Moving the cursor and pressing shortcuts works the same on all of them. Pads outside those families are matched from a community database and are beta: nobody here owns one to confirm it, so treat it as untested. The things you feel (stiffening triggers, rumble, light bar) depend on what the hardware can do; a DualSense gets all of them. Elite rear-paddle reading is in beta. See exactly what each controller does →
| Capability | DualSense | DualSense Edge | DualShock 4 | Xbox Series/One | Xbox Elite | Switch Pro | MFi / other Apple's controller standard |
|---|---|---|---|---|---|---|---|
| Cursor, scroll, typing, every shortcut | Yes | Yes | Yes | Yes | Yes | Yes | most* |
| Buzz you can feel (haptics) | Yes | Yes | Yes | Yes | Yes | Yes† | if supported |
| Adaptive triggers | Yes | Yes | — | — | — | — | — |
| Light bar (set the colour) | Yes | Yes | Yes | — | — | — | — |
| Player LEDs (the row of five) | Yes | Yes | — | — | — | in testing› | — |
| Mute-button LED | Yes‹ | Yes‹ | — | — | — | — | — |
| Touchpad gestures | Yes | Yes | Yes | — | — | — | — |
| Tilt to aim (gyro) | Yes | Yes | beta‡ | — | — | Yes | — |
| Rear paddles / back buttons | — | beta§ | — | — | beta¶ | — | — |
| Battery level | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
- * MFiCore input works on any Made-for-iPhone controller macOS recognises, which covers most modern pads. Fully generic controllers are matched against a bundled database of 300+ Mac mappings and wired through to the input pipeline, but that path is beta: it reads the controller directly, so it needs the Input Monitoring permission and a pad that is in the database, is not Made-for-iPhone, and is not one of the families above. Nobody here owns one to confirm it, so treat it as untested. Got one? Reach out. MFi pads get battery, and haptics only if the controller reports them. Neither gets the light bar, touchpad, gyro, or adaptive triggers: those need each controller family's own protocol. A single Joy-Con connects as buttons and battery only, plus tilt if macOS reports motion. No sticks, so no cursor. Treat it as unfinished and untested.
- › Switch LEDsSwitch Pro has four player LEDs and Steer can address them, but the wire format is transcribed from reverse-engineering notes, the feature is off by default, and nobody here owns a Pro Controller to confirm it. Untested rather than supported.
- ‹ Mute LEDReadable on a dim desk, barely visible in a normally lit room. A quiet extra, not something to rely on across the room.
- † SwitchSwitch Pro rumble is a simplified version of the real effect: genuine feedback, less nuance.
- ‡ DS4macOS reports no motion for a DualShock 4, so tilt-to-aim reads the controller directly and needs the Input Monitoring permission. It is off by default; turn it on in settings. Treat it as beta.
- § EdgeDualSense Edge back buttons read through low-level input monitoring (needs the Input Monitoring permission). The PS button over Bluetooth is off by default pending hardware QA.
- ¶ EliteXbox Elite paddles are fully wired up, but I don't own an Elite to verify on hardware, so they're marked beta until a tester confirms. Want to help? Reach out.
Steer only advertises what it actually drives: where the hardware can't do something, the app hides it rather than pretending. That's the whole point.
Wondering why you would want this? If a mouse hurts, or if you run coding agents.