Questions
Where are controller mappings on macOS?
macOS keeps controller mappings in three places. System Settings > Game Controllers stores per-app button remaps for games that already support controllers. Steam stores its own layouts in Steam Input. Anything else, including using a controller in apps that have no controller support at all, lives in a mapper app such as InputConfig, which stores presets locally as JSON files you can export and share. This page covers where each one is, what it can and cannot do, and how to move mappings between Macs.
Steps
- Open System Settings and click Game Controllers.
- Select the controller, then the app to change.
- Click a button on the diagram and choose what it should act as.
- Save the profile. For keyboard or mouse output in any app, use a mapper such as InputConfig instead.
System Settings > Game Controllers, step by step
- Connect the controller over Bluetooth or USB.
- Open System Settings and click Game Controllers in the sidebar (macOS 14 and later; on macOS 13 it is under General).
- Select the controller.
- Choose the app or game you want to change, or keep Default for every app.
- Click a button on the diagram and pick the button it should act as.
- Save it as a custom profile. Profiles are per app and follow the controller, not the Mac.
The Home Button Overrides section on the same screen decides whether the PS, Xbox or Home button opens the Game Overlay or is passed to the game.
What it cannot do
- It cannot send keyboard keys or mouse movement. A button can only become another controller button.
- It has no effect in apps that do not support controllers: browsers, most productivity apps, keyboard-only games, and Windows games running through CrossOver.
- It does not know about MIDI, the trackpad, or anything that is not a game controller.
Steam Input on a Mac
Steam stores layouts per game inside Steam Input. Open Steam, select the game, click the controller icon, and choose or edit a layout. Steam Input can send keyboard keys and mouse movement, but only while a Steam game is in the foreground and only when it was launched from Steam. Outside Steam, on the desktop or in other apps, the layout does nothing. The Steam Community publishes shared layouts for many games.
On the controller itself
The DualSense Edge and the Xbox Elite Series 2 store profiles in the pad. These remap controller buttons to other controller buttons and adjust stick curves and trigger stops. They travel with the controller to any device, but like System Settings they cannot output keys or mouse motion.
System-wide, in any app: a mapper
A mapper reads the controller and sends real keyboard and mouse events, so it works in every app on the Mac, including ones that never planned for a controller. InputConfig is free and open source. Its presets are ordinary JSON files stored in the app's own folder (Library, Containers, com.inputconfig.app, Data, Library, Application Support, InputConfig, presets). Each preset lists every binding: which button, stick, key, pad or knob does what. The app ships with dozens of presets, its Smart Preset Maker holds ready-made layouts for more than 450 games and apps, and every one of them is listed on this site with its full button map.
Find a ready-made mapping for a game or app
Browse the preset library or use the preset chooser. A few examples: Minecraft, Fortnite, Blender, Anki, and Final Cut Pro. Every page shows the layout and, for the built-in presets, offers the file to download and open in the app.
Move mappings between Macs
- In InputConfig, right-click a preset in the sidebar and choose Export, or use Settings > Export Backup for every preset at once.
- Copy the file to the other Mac with AirDrop, iCloud Drive or a USB stick.
- Open it with InputConfig, or drop it on the app icon. It appears in the sidebar ready to activate.
Presets contain no personal data, so a shared file is safe to hand to someone else.
Questions
Can macOS remap a controller to keyboard keys without an app?
No. System Settings > Game Controllers only maps controller buttons to other controller buttons, for games that already support controllers. Keyboard keys and mouse movement from a controller need a mapper such as InputConfig.
Where does InputConfig store its presets?
In its own folder under Library, Containers, com.inputconfig.app, as plain JSON files, one per preset. Export from the sidebar or Settings gives you a copy anywhere you like.
Do Steam layouts work outside Steam?
No. Steam Input only acts while a Steam game launched from Steam is in the foreground. On the desktop or in other apps, use a system-wide mapper.
Can I share a mapping with someone?
Yes. Export the preset from InputConfig and send the file. It contains only bindings, no personal information, and opens on any Mac with the app installed.