Questions

Controller not working in an emulator 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.

It is nearly always a setting in the emulator. Every major emulator on the Mac reads controllers itself, through its own input settings, so a pad that works everywhere else and does nothing in an emulator usually has the wrong device picked, the wrong input driver, or a mapping that was never made. I will show you where each one keeps that setting and what usually fixes it. A mapper like InputConfig is not the fix for most of these, and I say where it is.

On this page
  1. Check that the Mac sees the pad first
  2. Fix it in Dolphin (GameCube and Wii)
  3. Fix it in PCSX2 (PlayStation 2)
  4. Fix it in RetroArch
  5. Fix it in PPSSPP (PSP)
  6. Fix it in OpenEmu, DOSBox and ScummVM
  7. Where InputConfig fits, and where it does not
  8. The short version
  9. Questions

Check that the Mac sees the pad first

  • You: Open System Settings and click Game Controllers in the sidebar, then press a button.
  • macOS: Lists the pad and lights the button, if it treats it as a game controller.
  • Check: If your pad is listed and responds, the emulator is the problem.

If it is missing, it may still be fine. USB SNES pads, generic USB gamepads, arcade sticks and encoders are plain HID devices that never appear in that list. Hold Option, open the Apple menu, choose System Information, and click USB: a pad listed there reaches the Mac, and emulators read it directly. If it is in neither place, start with controller not recognized on a Mac.

Quit Steam while you test: its controller layer can send its own keys into emulators, which PCSX2's documentation calls out by name.

Fix it in Dolphin (GameCube and Wii)

  • You: Open Controllers, set port 1 to Standard Controller, and click Configure. Choose your pad in the Device menu at the top, not the keyboard entry.
  • Dolphin: Reads that pad for port 1.
  • Check: Click each slot and press the button you want. The live bars show whether it is reading.
  • The pad is missing from the Device menu. Connect it first and then press Refresh next to the menu, or restart Dolphin.
  • Wii games. Use Emulated Wii Remote in the Wii section the same way.
  • The game ignores the pad when Dolphin is not in front. Turn on Background Input in the same window.

A PS5, PS4 or Xbox pad all work this way on a Mac. I have not confirmed that Dolphin's Mac keyboard reader takes keys sent by a mapper, so for Dolphin stay with its own controller settings. Dolphin controller setup on a Mac has the full walk-through, with real Wii Remotes and the GameCube adapter.

Fix it in PCSX2 (PlayStation 2)

  1. Go to Settings, Controllers, and keep the SDL input source on. PCSX2's documentation calls it the recommended source and says it works for most controllers.
  2. With an official DualSense or DualShock 4, also turn on DualShock 4 / DualSense Enhanced Mode, which PCSX2 recommends for proper vibration and light control.
  3. Open Controller Port 1 (map port 1 first, games expect player one there), click Automatic Mapping and pick your pad.
  4. If Automatic Mapping says the pad is not supported, map each button by hand: click the slot, press the button.

PCSX2 can also be played on the keyboard, and it takes keys from a mapper like any other Mac app, but with a pad it already reads there is no reason to. PCSX2 controller setup on a Mac has the full walk-through.

Fix it in RetroArch

Go to Settings, Input, RetroPad Binds, Port 1 Controls, and choose Set All Controls to bind every button in turn. If the pad is dead, climb this ladder, smallest step first:

  1. Change the controller driver. On a Mac, RetroArch has three, hid, mfi and sdl2, and a pad that is dead in one often works in another. Change it under Settings, Drivers, Controller, then restart RetroArch.
  2. Match the driver to the pad. The mfi driver goes through Apple's controller support, so it only sees pads listed in Game Controllers. For a USB SNES pad or another plain USB pad, use hid or sdl2.
  3. Save the profile. Once it works, Save Controller Profile so it is recognized next time.

For shortcuts, RetroArch's libretro docs recommend binding an Enable Hotkeys button so hotkeys only fire while it is held. Its keyboard defaults are F2 to save a state, F4 to load, Space for fast forward and F1 for the menu, and its default player keys are the same keys the Emulator / Arcade layout sends, apart from Select. RetroArch controller setup on a Mac has the full walk-through.

Fix it in PPSSPP (PSP)

  • You: Go to Settings, Controls, Control mapping. Click a PSP button, then press the button on your pad.
  • PPSSPP: Binds the button you pressed.
  • Check: If the pad does nothing on that screen, PPSSPP is not seeing it at all. Quit Steam, reconnect the pad, and reopen PPSSPP.

Fix it in OpenEmu, DOSBox and ScummVM

  • OpenEmu. It has its own two macOS permissions, Input Monitoring and Bluetooth, and those are the usual fix: OpenEmu controller not working.
  • DOSBox and ScummVM. These are different, because the games inside them were made for a keyboard and mouse. The retro games guide has layouts for both.

Where InputConfig fits, and where it does not

InputConfig sends keyboard and mouse events. It does not create a virtual controller, so it cannot make a keyboard look like a gamepad to an emulator, and it cannot fix a pad the emulator reads badly. Where it helps:

  • Shortcuts on spare buttons. Save state, load state, fast forward and the menu are keyboard shortcuts in most emulators. InputConfig puts them on buttons the emulator leaves unbound, such as a DualSense Edge paddle or the touchpad click.
  • The Mac around the emulator. The same pad moves the pointer through the game library and file dialogs, and Open App can launch the emulator from a button.
  • Checking the pad. The Live Visualizer lights each control as you press it, plain USB pads included, so you can see the Mac is getting the press before you blame the emulator.
  • Keyboard-only emulators. Browser emulators and some older ports only read keys. The Emulator / Arcade layout covers those.
InputConfig's Live Visualizer drawing a USB SNES-style pad with the A button lit while pressed.
Figure 1. If the Live Visualizer lights the button, the Mac is getting the press, and the emulator's settings are the place to look.

Do not map buttons the emulator also reads, or each press arrives twice. Give the emulator its own preset and turn on auto-switch, and it activates whenever the emulator is in front. InputConfig is free on the Mac App Store, macOS 14 or later.

The short version

  • Check the Mac first. Look in Game Controllers, or in System Information, USB, for plain USB pads.
  • Pick the device in the emulator. That means Dolphin's Device menu, PCSX2's SDL source, or RetroArch's driver.
  • Use a mapper for the extras. It is for shortcuts on spare buttons, not for the pad itself.

The emulator's own input settings fix most of these in a minute.

Questions

Why is my PS5 controller not working in Dolphin on a Mac?

Usually because the Device menu in Dolphin's controller window is still on the keyboard. Open Controllers, Configure on port 1, pick the DualSense in the Device menu, press Refresh if it is missing, and map the buttons.

Why is PCSX2 not detecting my controller on a Mac?

Check that the SDL input source is on in Settings, Controllers, then use Automatic Mapping on Controller Port 1. For a Sony pad, turn on DualShock 4 / DualSense Enhanced Mode. Quit Steam if it is open.

RetroArch does not see my controller on a Mac. What should I change?

Try another controller driver in Settings, Drivers, Controller (hid, mfi or sdl2), restart RetroArch, then bind it in Settings, Input, RetroPad Binds.

Why does my USB SNES controller not work in an emulator on a Mac?

It is a plain USB device, so it is not in System Settings, Game Controllers, and an emulator set to read only those will miss it. In RetroArch use the hid or sdl2 controller driver. In OpenEmu assign it in Controls. See USB SNES controllers on a Mac.

Can I turn my keyboard into a controller for an emulator on a Mac?

Not with InputConfig. It sends keys and mouse events, it does not create a virtual gamepad. Every emulator here can be bound to the keyboard directly in its own input settings.

Does a Mac need a driver for a controller in emulators?

No. PlayStation, Xbox and Switch Pro pads work without a driver on current macOS, and generic USB pads and SNES-style pads are read as HID devices with nothing installed. The one exception people hit is the wired Xbox 360 pad, which macOS does not support at all.

Download on the Mac App StoreOpen source on GitHub.

Updated