Questions

Arcade sticks, fight sticks and leverless controllers 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.

A Mac can use a fight stick, and the mode switch decides almost everything. In a PS3, PS4 or DirectInput mode most sticks are ordinary USB devices that macOS reads with no driver. In Xbox or XInput mode most are invisible, because macOS does not support the wired Xbox 360 protocol they speak, and on many PlayStation-licensed sticks the position marked PC is that same XInput mode. Once the Mac sees the stick, emulators read it directly, and for games that only take the keyboard, InputConfig, the free app I make, turns every button into the key the game expects.

On this page
  1. Steps
  2. Pick the mode first
  3. Check what the Mac sees
  4. Let emulators read the stick directly
  5. Turn the stick into a keyboard for everything else
  6. Know the PlayStation sticks InputConfig names
  7. Set up a leverless controller
  8. Set up an 8BitDo or Mayflash stick
  9. Connect it to a MacBook
  10. Check which fighting games run on a Mac
  11. What it cannot do
  12. The short version
  13. Questions

Steps

  1. Unplug the stick and set it to a PS3, PS4 or DirectInput mode (or Switch). Avoid Xbox or XInput mode.
  2. Plug it straight into the Mac with a data cable, using a USB-C adapter on a MacBook.
  3. Check System Settings, Game Controllers, and System Information, USB, to see how the Mac reads it.
  4. In an emulator, assign the buttons in the emulator's own controls screen.
  5. For a game that only reads the keyboard, open InputConfig, press Scan on each row, press the stick button, and choose the key.

Pick the mode first

Most sticks have a slider, or a button held while you plug in. The names vary by maker. This is what each one means on a Mac, in the order to try them.

Mode on the stickWhat the Mac doesTry it
PS3, PS4, DirectInput, D-inputAn ordinary USB HID device, no driver. Games built on Apple's controller support usually do not list it; emulators and InputConfig read it.First
SwitchOn many sticks a plain HID device too. A stick that presents itself as a Switch Pro Controller over Bluetooth is listed as a game controller on macOS 13 and later.Second
PCDepends on the maker. On some sticks it is DirectInput. On many PlayStation-licensed sticks it is XInput, which nothing on a Mac reads. Plug it in and look.Test it
Xbox, XInput, X-inputMost sticks speak the wired Xbox 360 protocol here, which macOS does not support and InputConfig cannot read either.Last

Change modes with the stick unplugged, then plug it straight into the Mac. The manual says which button or slider sets each mode.

Check what the Mac sees

  • System Settings, Game Controllers. In the sidebar. It lists only what macOS treats as a game controller. If your stick is there, native games and streaming apps see it like any pad, and you may need nothing else.
  • System Information, USB. Hold Option, open the Apple menu, choose System Information. It lists every USB device. A stick listed here but not under Game Controllers is a plain HID device: fine for emulators and InputConfig, invisible to most native games.
  • InputConfig, Devices in the menu bar. It lists every USB device, with a checkmark on the ones the app reads. A stick in XInput mode is listed with a note that macOS cannot read it and that another mode or Bluetooth is the way in. A readable stick that was not picked up on its own can be ticked there.
  • The Live Visualizer. On any preset, the Live Visualizer lights each button as you press it.
InputConfig's Devices menu listing an arcade stick in XInput mode, grayed out, with a note that macOS cannot read it.
Figure 1. A stick in XInput mode shows in the Devices menu with the reason it cannot be read. Switch its mode and plug it in again.

A stick missing from all of these is almost always a charge-only cable or Xbox mode.

Let emulators read the stick directly

OpenEmu and RetroArch read USB controllers themselves, and MAME reads controllers too. Put the stick in a HID mode, open the emulator's controls screen, and assign each button there. That is the shortest path from your hand to the game, with nothing in between, so use it wherever it works. The Emulator / Arcade layout is for the browser emulators, keyboard-only ports and MAME menu keys that are left over.

Turn the stick into a keyboard for everything else

Plenty of games on a Mac, and games streamed to one, read the keyboard but not a stick in DirectInput mode. InputConfig sits in between: it reads the stick and sends the keys.

  • You: Set the stick's lever switch, if it has one, to DP so the lever arrives as a D-pad. Then press Scan on a row, press the stick button, and pick the key.
  • InputConfig: Turns the lever's four directions into four keys, and a diagonal holds both at once, which is exactly how a fighting game reads a keyboard diagonal.
  • Check: Press each button in the game's training mode and watch for the move.

Each button can send one key, two keys together (a two-button Drive Parry on one button), a chord, turbo, or a macro.

Some sticks also present themselves as a keyboard. InputConfig reads one of those once Input Monitoring is allowed for it in System Settings, Privacy & Security. The Devices menu marks such a stick as needing Input Monitoring and opens the setting for you.

Know the PlayStation sticks InputConfig names

Sticks listed in the community SDL GameControllerDB have their buttons named and placed like any PlayStation controller, and the Live Visualizer lights each one as you press it. The arcade stick drawing is experimental and switched off, so the panel shows a standard gamepad for now. The sticks named this way include the Qanba Drone and Dragon, the Victrix Pro FS for PS4, the Mad Catz TE S+ for PS3 and PS4, the Hori Fighting Stick mini 4, the Razer Panthera, and the PDP Versus Fighting stick.

  • Missing L3, R3 or touchpad click. The community mappings for the Victrix Pro FS, the PDP Versus Fighting and the Qanba Drone leave them out. InputConfig reads them anyway, where every DualShock-style stick puts them.
  • Turbo, Mute and the stick's own switches. They work inside the stick, so the Mac never sees them.
  • Xbox-licensed sticks. The hard case: Xbox mode is the one a Mac is least likely to read, so if it has a DirectInput or PlayStation mode, use that.

A maker's settings app for Windows or a console is separate from all of this. Nothing here needs it.

Set up a leverless controller

An all-button controller such as a Hit Box, Snack Box or Haute42 is the same thing as a stick to a Mac: the directions are buttons instead of a lever, and the mode decides whether the Mac can read it. Two things are different.

  • SOCD cleaning happens inside the controller. What left plus right, or up plus down, turns into is set in the controller's own settings. The Mac and InputConfig only ever see the result, so set it there.
  • GP2040-CE has a keyboard mode. Many leverless controllers run the open-source GP2040-CE firmware. Its documentation sets the mode by the button held while you plug in: B1 for Switch, B3 for PS3/DirectInput, R2 for Keyboard (GP2040-CE's own button names). In Keyboard mode the controller is a USB keyboard, and every Mac game that takes keys reads it with no mapper at all. You choose which key each button sends in GP2040-CE's web configurator.

If your controller runs GP2040-CE, Keyboard mode is the simplest setup on a Mac, and I would use it before InputConfig. For the other modes, InputConfig reads GP2040-CE in its Generic, PS3, PS4 and Switch modes, every button and both sticks, and shows each control it reports in the Live Visualizer. The leverless drawing is experimental and switched off. The button numbers change with the mode, so Scan after you switch. XInput mode cannot be read. Controllers on other firmware follow the table above.

Set up an 8BitDo or Mayflash stick

  • 8BitDo Arcade Stick. 8BitDo lists Switch and Windows for it, not macOS, and it has two modes, Switch and X-input. Try Switch mode over Bluetooth first: macOS 13 and later reads Switch controllers, and if the stick appears in System Settings, Game Controllers, games see it like any pad. Over a USB cable in X-input mode, InputConfig reads many 8BitDo controllers directly, but games will not see the stick that way. Test on your own Mac before you plan around it, since 8BitDo does not promise either.
  • Mayflash F500. Mayflash's support page documents a macOS mode from firmware V1.28 on, set by holding Select and A for three seconds, and notes that the firmware update itself has to be done on a Windows PC.
  • Other Mayflash sticks. Their PC mode is the one to try.

Connect it to a MacBook

Most sticks ship with a USB-A cable and most MacBooks only have USB-C.

  • An adapter, not a hub. A plain USB-C to USB-A adapter works. Plug the stick straight into it, since some hubs drop HID devices.
  • A data cable. If the stick lights up but the Mac lists nothing, try another cable before anything else: many cables in drawers only charge.
  • Two-player cabinets. InputConfig gives each player on a dual arcade encoder a controller slot of their own.

Check which fighting games run on a Mac

Few current ones.

  • Streamed only. Street Fighter 6, Tekken 8, Mortal Kombat 1 and Guilty Gear Strive have no Mac version and reach a Mac by streaming from a Windows PC or a cloud service that carries them. A stick macOS lists as a game controller usually passes through the stream. A stick it does not list can still play through the keyboard layout on each game's page.
  • Native. Skullgirls 2nd Encore runs natively.
  • Retro. Retro arcade fighters run in emulators, which read the stick themselves.

Streaming adds its own delay, which is the real cost of competitive play on a Mac.

What it cannot do

  • Look like a gamepad. InputConfig sends keyboard and mouse events, so a game that only accepts a controller needs one macOS recognizes, which is where the mode table comes in.
  • Read Xbox mode. Neither macOS nor InputConfig reads the wired Xbox 360 protocol.
  • Clean SOCD. That is resolved by the controller's firmware before the Mac sees anything.
  • Add zero delay. It reads the stick 120 times a second by default, or up to 240 if you raise it in Settings, so the wait before the key is sent is shorter than anyone notices in play. When a game or emulator reads the stick itself, let it.

The short version

  • Mode. Try PS3, PS4 or DirectInput first, Switch second, and Xbox last.
  • Emulators. Assign the buttons in the emulator's own controls screen.
  • Keyboard games. Scan each button in InputConfig, lever on DP.
  • Leverless on GP2040-CE. Use its Keyboard mode, which needs no mapper.

Get the mode right, and the Mac reads almost any stick with no driver.

Questions

Can I use a fight stick on a Mac?

Yes. Put it in a PS3, PS4 or DirectInput mode and plug it in. macOS reads it with no driver. Emulators use it directly, and InputConfig maps it to keys for games that only read the keyboard. Xbox mode, and the PC mode on many PlayStation-licensed sticks, usually does not work.

Do I need a driver for an arcade stick on a Mac?

No, not in a HID mode such as PS3, PS4, DirectInput or Switch. For a stick stuck in Xbox mode, the old third-party Xbox 360 drivers were kernel extensions, which current Macs do not load without lowering security settings. Switching the stick's mode is the better fix.

Does the Victrix Pro FS or Qanba Drone work on a Mac?

In their PS4 mode, InputConfig reads them with named buttons, and it reads the L3, R3 and touchpad click their community mappings leave out. Games built on Apple's controller support may not list them.

Why does my arcade stick work in OpenEmu but not in a game?

The emulator reads the stick as a raw USB device. Most native Mac games only listen to controllers macOS lists under System Settings, Game Controllers, and a stick in DirectInput mode is not one. Either find a mode macOS lists, or map the stick to the game's keyboard keys with InputConfig.

Does InputConfig add input lag to a fight stick?

A little. It reads the stick 120 times a second by default, or up to 240 if you raise it in Settings, so the wait before the key is sent is shorter than anyone notices in play. When a game or emulator reads the stick itself, let it. That path has no mapper in it.

Can InputConfig do SOCD cleaning for a leverless controller?

No. SOCD is resolved by the controller's firmware before the Mac sees anything, so set it in the controller. InputConfig passes on whatever the controller reports.

Can I use my Mac keyboard like a Hit Box?

Yes, and you do not need a mapper for it: games that take keyboard input read the keyboard directly. InputConfig listens to the keyboard without blocking keys, so it is the wrong tool for remapping one keyboard key to another.

Can a fight stick button run a macro?

Yes. In InputConfig any stick button can send two keys at once, turbo, or a timed macro. Tournaments do not allow macros and online play follows each game's rules. Where it helps is practice, and hands that cannot press two buttons at the same instant.

This page in other languages: Español, Italiano, 日本語, 한국어, 简体中文

Download on the Mac App StoreOpen source on GitHub.

Updated