Adaptive controllers that work on a Mac
InputConfig is completely free on the Mac App Store. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon.
Most adaptive controllers work on a Mac, but macOS only treats them as game controllers: a game with controller support sees them, and the rest of the Mac ignores them. The PlayStation Access Controller and the Xbox Adaptive Controller pair with no driver, and switches reach the Mac through either one or through a USB switch interface. InputConfig, a free app I make, turns any of them into a mouse, a keyboard, or a set of shortcuts.
Below you will find which devices connect, how each one shows up, what I have and have not tested, and a one-minute check for anything not on the list.
On this page
Steps
- Find your device in the table and connect it: USB-C or Bluetooth for the two adaptive controllers, a controller port or a switch interface for switches.
- Look for it in System Settings, Game Controllers. If it is listed, InputConfig reads it with no setup.
- If it is not listed, open InputConfig's Devices menu and tick it.
- Open the Live Visualizer and press everything. A control that lights up can be bound.
- Press Scan on a row and press the control to give it a job.
- Put Emergency Stop on the control that is easiest to reach.
Find your device, and where to start
| Device | How it connects to a Mac | What InputConfig sees | Where to start |
|---|---|---|---|
| PlayStation Access Controller | USB-C or Bluetooth, no driver | A PlayStation controller, read by name: the stick, the center button, Socket 1 to Socket 8, PS, Profile, and whatever is in ports E1 to E4. Its three profiles are listed and edited over USB-C | Access Controller guide |
| Xbox Adaptive Controller | Bluetooth, no driver | An Xbox controller: each of its 19 ports is the button or stick direction it is named after | Adaptive Controller guide |
| 3.5 mm switches, buttons, pedals, sip-and-puff switches | Through one of the two controllers above, or a switch interface | A button | One to four switches |
| USB switch interfaces, such as AbleNet's Hitch 2 | USB | Keyboard keys, or a mouse in mouse mode | Switch interfaces |
| QuadStick | USB; its maker lists Mac as compatible | Depends on its mode: game controller, mouse, or keyboard. Not tested here | QuadStick |
| Logitech Adaptive Gaming Kits | Into the ports of an Xbox Adaptive or Access Controller | Buttons of that controller | The guide for the controller they plug into |
| Hori Flex | Sold for Nintendo Switch and Windows PCs | Not tested on a Mac | The one-minute check |
| Joysticks and one-handed pads that present as a gamepad | USB or Bluetooth | A gamepad, or a raw USB device with every axis and button | Controllers InputConfig reads |
"Not tested" means exactly that. I would rather say so than guess, and the check takes a minute with the device in your hand. If a device reaches the Mac as a controller, keys or a mouse, InputConfig can give its controls new jobs.
Set up the PlayStation Access Controller
Sony's Access Controller pairs with a Mac like a DualSense: hold the PS button and the profile button until the light flashes, or plug in a USB-C cable. Since 1.8, InputConfig reads the controller itself:
- Every socket by name. Socket 1 to Socket 8, the center button, the stick press, and the PS and Profile buttons arrive under their own names, over USB-C and Bluetooth, whatever the profile assigns them.
- The ports too. A switch, stick, trigger or pedal in E1 to E4 is recognized the moment it is plugged in, with no PS5 profile needed.
- Profiles on the Mac. Over USB-C, the Profile chip in the Live Visualizer lists the three profiles stored on the controller, switches them, and edits one with the PS5's own settings. Over Bluetooth it shows the active one.

InputConfig's built-in Access Controller preset works with Sony's base profile: the stick is the pointer, the center button clicks, socket 5 right-clicks, and socket 7 opens Spotlight. Scan any other socket onto a row to give it a job. The full guide covers profiles, a layout that gives each socket a press, a hold and a double press, and one-stick driving for racing games. The short troubleshooting page covers a socket that sends nothing.
Set up the Xbox Adaptive Controller
Apple lists the Xbox Adaptive Controller as a supported controller, and it pairs over Bluetooth like any Xbox Wireless Controller. There is no Xbox Accessories app on a Mac, so remapping its ports happens in InputConfig: press Scan on a row and press the switch.
- Ports. A switch in any port becomes the button that port is named after.
- USB joysticks. A joystick in one of its USB ports becomes a stick.
- The large buttons. The large A button and a switch in the A port send the same input, so plan by function.
- Profiles. Its Profile button and lights never reach the Mac.

The Adaptive Controller guide has a ready desktop layout.
Connect switches and switch interfaces
A 3.5 mm switch needs something to plug into. Climb this ladder, from the route that just works to the one that needs care:
- A port on one of the two controllers above. Each switch becomes its own button, it types nothing by itself, and you can give it three jobs with press, hold and double press.
- A USB switch interface. AbleNet's Hitch 2 takes up to five switches, AbleNet lists it as working with macOS, and it sends keystrokes you choose, or moves the mouse in its mouse mode.
InputConfig reads an interface's keystrokes as keyboard input, with two caveats. It listens to the keyboard and does not block or remap the key itself, so a key the interface sends still does its normal job. And every keyboard reports as one synthetic device id, so InputConfig cannot tell the interface from your keyboard. Set a switch interface to keys nothing else uses, F13 to F19 where it allows, and bind those.
The switch guide has layouts for one, two and four switches that work alongside macOS Switch Control.
QuadStick: what should happen
The QuadStick is a mouth-operated joystick with sip-and-puff sensors and a lip sensor. Its maker lists Windows PCs and Mac computers as directly compatible, and describes it as acting as a game controller, a mouse and a keyboard. The QuadStick Manager Program, which adjusts its sensitivity, sip and puff thresholds and modes, is a Windows program, so those settings are easiest to change on a Windows machine or with the maker's help.
I have not tested a QuadStick with InputConfig, so here is what should happen, mode by mode:
- Mouse or keyboard mode. It drives the Mac directly, and InputConfig is not needed for that.
- A game controller mode. A Mac game with controller support may see it. If not, InputConfig can turn its inputs into keys and mouse for games and apps that have no controller support.
- Xbox 360 emulation mode. The one least likely to work, because macOS does not support the wired Xbox 360 protocol.
Plug it in, open the Live Visualizer, and sip, puff and move the stick: whatever lights up can be bound.
Check any device in a minute
For anything not in the table, or marked not tested, work down these steps with the device in your hand.
Step 1: Look for it in System Settings
- You: Connect it, open System Settings, and look for Game Controllers in the sidebar.
- macOS: Lists any device it reads as a game controller.
- Check: If the device is listed there, InputConfig reads it with no setup. Go to step 3.
Step 2: Open it from the Devices menu
- You: Open InputConfig's Devices menu in the menu bar and tick the device.
- InputConfig: Lists every Bluetooth and USB device the Mac can see, and opens a ticked one directly.
- Check: The device now appears among the inputs InputConfig can hear.
Step 3: Press everything in the Live Visualizer
- You: Open the Live Visualizer and press every control.
- InputConfig: Lights each control that reaches the Mac. It draws the Access Controller, the Xbox Adaptive Controller and 17 other models as they really are, and anything else in a generic drawing.
- Check: A control that lights up can be bound. One that does not is not reaching the Mac.
Step 4: Bind it
- You: On any row, press Scan and press the control.
- InputConfig: Gives that row to the control.
- Check: Press the control and the row fires.
If a device sends keyboard keys, it shows up as keys, not in the visualizer's controller view. That is fine. Bind the keys, with the listen-only caveat above. Whatever lights up can be bound.
What InputConfig adds, and what it cannot do
I built InputConfig because my hands do not work well, and adaptive hardware is most of why it exists. On top of whatever a device sends, it adds:
- Three jobs per control. A press, a hold and a double press.
- Speech. Each action read aloud with spoken feedback, if you want it.
- Accessibility outputs. Dictation, zoom and speak selection on a switch.
- Driving. Racing games from a single stick with one-stick driving.
- A stop. Any switch can be an emergency stop that releases everything.
It is free, with no account and nothing locked. What it cannot do:
- Pretend to be a game controller. It sends keyboard and mouse, so a game that only accepts a controller needs the real one.
- Track a head or eyes. For those, use macOS's own head pointer.
- Change most devices' own settings. Not the profiles stored on an Xbox Adaptive Controller, and not a QuadStick's settings. The Access Controller is the exception: over USB-C InputConfig edits its three profiles.
- Run before login. The one-time Accessibility permission needs a helper or Voice Control to grant. At the lock screen it keeps the pointer and clicks working and sends no keys.
For a planned assessment with a client, the guide for occupational therapists walks through it.
The short version
- Access Controller. Every socket, button and port reaches the Mac by name, and its profiles are edited over USB-C.
- Xbox Adaptive Controller. Every port is its Xbox button from the start.
- Switches. They work best through one of those two. A USB interface should send F13 to F19.
- Anything else. Run the one-minute check.
The device decides what reaches the Mac, and InputConfig decides what it does once it gets there.
Download
- Access Controller Desktop presetPointer on the stick. Every button with a press and a hold. Built for a profile that assigns Cross, Circle, Square, Triangle, L1, R1, L2 and R2 to sockets, or re-scan its rows onto yours. (9 KB)
- Adaptive Desktop presetFor the Xbox Adaptive Controller: joystick pointer, switches with press and hold. (10 KB)
- Two Switch presetSix actions from two switches. Re-scan onto yours. (3 KB)
- Four Switch presetA pointer from four switches. Holds move faster. (5 KB)
To add one, drop the file on InputConfig's Dock icon, or see importing a preset. It arrives inactive, and any launch target in it is cleared.
Questions
Do adaptive controllers work on a Mac?
The PlayStation Access Controller and the Xbox Adaptive Controller both pair with no driver. macOS treats them as game controllers only. InputConfig turns them into a mouse, keys and shortcuts in every app.
Does the QuadStick work on a Mac?
Its maker lists Mac computers as compatible, and in mouse or keyboard mode it drives the Mac directly. The QuadStick Manager Program is Windows only. I have not tested one with InputConfig.
Do I need Windows or a console to set up an adaptive controller?
No. The Xbox Adaptive Controller is remapped in InputConfig, and InputConfig reads every Access Controller socket by name and edits its profiles over USB-C, so neither needs a console. A QuadStick's own settings are changed in a Windows program.
Can a switch interface that types keys work with InputConfig?
It works as keyboard input. The key still does its normal job too, so set the interface to keys nothing else uses, such as F13 to F19.
Does InputConfig cost anything?
No. It is free and open source on the Mac App Store, with no account and nothing locked. There is an optional tip jar that adds no features.
Related
This page in other languages: Français
Updated