Guides

Adaptive controllers that work on a Mac

Download on the Mac App StoreInputConfig 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
  1. Steps
  2. Find your device, and where to start
  3. Set up the PlayStation Access Controller
  4. Set up the Xbox Adaptive Controller
  5. Connect switches and switch interfaces
  6. QuadStick: what should happen
  7. Check any device in a minute
    1. Step 1: Look for it in System Settings
    2. Step 2: Open it from the Devices menu
    3. Step 3: Press everything in the Live Visualizer
    4. Step 4: Bind it
  8. What InputConfig adds, and what it cannot do
  9. The short version
  10. Download
  11. Questions

Steps

  1. 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.
  2. Look for it in System Settings, Game Controllers. If it is listed, InputConfig reads it with no setup.
  3. If it is not listed, open InputConfig's Devices menu and tick it.
  4. Open the Live Visualizer and press everything. A control that lights up can be bound.
  5. Press Scan on a row and press the control to give it a job.
  6. Put Emergency Stop on the control that is easiest to reach.

Find your device, and where to start

DeviceHow it connects to a MacWhat InputConfig seesWhere to start
PlayStation Access ControllerUSB-C or Bluetooth, no driverA 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-CAccess Controller guide
Xbox Adaptive ControllerBluetooth, no driverAn Xbox controller: each of its 19 ports is the button or stick direction it is named afterAdaptive Controller guide
3.5 mm switches, buttons, pedals, sip-and-puff switchesThrough one of the two controllers above, or a switch interfaceA buttonOne to four switches
USB switch interfaces, such as AbleNet's Hitch 2USBKeyboard keys, or a mouse in mouse modeSwitch interfaces
QuadStickUSB; its maker lists Mac as compatibleDepends on its mode: game controller, mouse, or keyboard. Not tested hereQuadStick
Logitech Adaptive Gaming KitsInto the ports of an Xbox Adaptive or Access ControllerButtons of that controllerThe guide for the controller they plug into
Hori FlexSold for Nintendo Switch and Windows PCsNot tested on a MacThe one-minute check
Joysticks and one-handed pads that present as a gamepadUSB or BluetoothA gamepad, or a raw USB device with every axis and buttonControllers 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.
Drawing of the PlayStation Access Controller with its stick, center button, eight sockets and expansion ports.
Figure 1. The Live Visualizer draws the Access Controller socket by socket, and lights each socket as it is pressed.

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.
Drawing of the Xbox Adaptive Controller with its two large buttons, D-pad and row of 3.5 mm jacks.
Figure 2. Each jack on the Adaptive Controller reads as the Xbox control it is named after.

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:

  1. 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.
  2. 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:

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.

This page in other languages: Français

Download on the Mac App StoreOpen source on GitHub.

Updated