Map every button at once
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.
You can lay out every button on a controller in one press. In InputConfig, an empty input device offers Automatically insert available inputs and says what it found: the device by name, then its sticks, triggers, buttons, touchpad and gyro, as far as it has them. One press makes a row for every control, under a heading per part of the device, each waiting for you to choose its output.
On this page
Steps
- Connect the controller and make a new preset.
- Press Automatically insert available inputs on the empty input device.
- Choose an output on each row you want to use.
- Click a control in the Live Visualizer to jump to its row.
- Save and press Activate.
Lay out every control in one press
- You: Connect the controller, make a new preset, and press Automatically insert available inputs on the empty input device.
- InputConfig: Reads what the device reports and adds a row for each control, sorted under headings.
- Check: The line above the button names your device and what it found. If it says a standard controller, the real one was not connected yet.

Only what the device reports is laid out, not what its name suggests.
What gets laid out
- A DualSense. Both sticks, triggers, D-pad, every named button, the touchpad and motion.
- A DualSense Edge. All of that, plus its paddles and Fn buttons under Paddles and extras.
- An Xbox pad. No motion rows, because it has none.
- The PlayStation Access Controller. Its real shape: one stick, eight sockets, PS and Options.
It also lays out:
- Generic USB pads and arcade sticks. Named buttons from the community SDL GameControllerDB, numbered like other controllers. A single Joy-Con is numbered the same way.
- Wheels. A Wheel section (steer left and right) and a Pedals section (gas, brake and clutch where the wheel has them). Logitech wheels from the Driving Force to the G923 are read in full.
- Both Steam Controllers. Each trackpad as its own section: slide in four directions, tap, double tap and press. The 2026 model is experimental.
- A mouse slot. Its buttons, movement, scrolling and a double click.
- The Mac's own slots. On a MacBook whose motion sensor InputConfig can read, they also offer Taps on the Mac. Tapping was tested on M4 MacBooks and did not work on an M1 Pro in our testing; the calibrator's status chip tells you whether yours listens.
Organize rows into sections
The rows arrive under headings: Left stick, Right stick, Triggers, D-pad, Buttons, Menu buttons, Paddles and extras, Touchpad, Motion, and the wheel and trackpad sections where they apply. The built-in presets ship this way too.
- Rename. Click a heading to rename it.
- Add. A heading's plus adds a row to that section.
- Lift. A heading's x removes the heading and keeps its rows.
- Make your own. New section makes one, and a row dragged into a section joins it.
- Tidy. Sort rows into sections sorts a preset built by hand.
Bind each row
Each new row shows Choose an output where the output goes. Pick a type and the normal controls appear. Nothing is guessed on the output side, so a laid-out preset does nothing until you decide what each control should do, and the Notes line on every row names the control while you work.
The Live Visualizer draws 19 controllers as themselves, and any other as a standard drawing, with what each control is bound to listed down both sides. Click a control in the Live Visualizer and the editor jumps to its row.
If a part is missing
Climb this ladder, smallest step first:
- Connect the controller first. With nothing connected, the layout is a standard controller and says so.
- Insert one part. The input device's menu has Insert one part, with a submenu per section, for anything the controller has beyond the standard layout.
- Scan keys and notes. A keyboard or a MIDI device has too many keys to guess at, so those slots say so: add a row and press Scan, then press the key or play the note.
- Check the wheel mode. A Logitech wheel in compatibility mode is switched to its own mode first, so the pedals read 0 to 1.
The short version
- One press. Automatically insert available inputs lays out every control the device reports.
- You choose the outputs. Nothing happens until each row has one.
- Jump around. Click a control in the Live Visualizer to find its row.
Connect the controller before you press the button, and the layout matches the controller in your hands.
Questions
Can I add just one part?
Yes. The input device's menu has Insert one part, with a submenu per section.
What if the controller is not connected yet?
The layout is a standard controller and says so. Connect the controller and use Insert one part to add what it has beyond that.
Does it work for a racing wheel?
Yes. A wheel gets steering and pedal rows. Logitech wheels in compatibility mode are switched to their own mode first, so the pedals read 0 to 1.
Related
Updated