Zed from a game controller
The Zed layout is built into InputConfig, 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.
On a Mac: Native on the Mac. Every row sends a shortcut Zed ships with, so there is nothing to change. Cmd B toggles Zed's left dock, where the project panel lives.
Yes, Zed works from a game controller on a Mac, and every row sends a shortcut Zed already ships with, so there is nothing to change. Save, find, the command palette and the left dock sit on the face buttons. There is a second Zed entry for finding things (Goto Anything, multi-cursor, comment). Pick the one that matches how you work, or keep both.
The layout, control by control
How the layout thinks
- Common commands. Save on the bottom face button, find on the right, the command palette on the left, the left dock on the top (Command B, which shows and hides the project panel).
- Undo and redo. On the left and right bumpers.
- Move around. Previous and next editor on D-pad left and right, a line up and down on D-pad up and down.
- Point and scroll. The left stick is the pointer, the right stick scrolls, the right trigger clicks, Escape is on Start.
Tune it
- Jump into the file tree. Put Command Shift E on a stick click.
- Agent panel. Put Command question mark on the other stick click.
- Vim mode. It works alongside this layout. Set the D-pad to h, j, k and l if you prefer.
Zed's defaults already fit the pad, so the only work is adding what you use most.
Get it in two clicks
- Get InputConfig free on the Mac App Store, open it, and click Smart Preset Maker on the welcome screen.
- Search for Zed and pick it. The layout is created as a preset in your sidebar, named and ready.
- Press Activate. Every row can be changed afterwards: the editor's Scan button rebinds any control the moment you touch it.
Every binding, as a table

| Controller | Sends | What it does |
|---|---|---|
| Left stick left | Mouse motion left (speed 16) | Cursor left |
| Left stick right | Mouse motion right (speed 16) | Cursor right |
| Left stick up | Mouse motion up (speed 16) | Cursor up |
| Left stick down | Mouse motion down (speed 16) | Cursor down |
| Right stick down | Scroll down | Scroll down |
| Right stick up | Scroll up | Scroll up |
| Right trigger | Left click | Click |
| A / Cross | Command (Left), S | Save |
| B / Circle | Command (Left), F | Find |
| X / Square | Command (Left), Shift (Left), P | Command palette |
| Y / Triangle | Command (Left), B | Toggle sidebar |
| D-pad left | Command (Left), Alt / Option (Left), Left | Previous editor |
| D-pad right | Command (Left), Alt / Option (Left), Right | Next editor |
| D-pad up | Up | Line up |
| D-pad down | Down | Line down |
| LB / L1 | Command (Left), Z | Undo |
| RB / R1 | Command (Left), Shift (Left), Z | Redo |
| Start / Options | Escape | Escape |
Button names follow the Xbox / PlayStation pair shown in the editor, so A / Cross is the bottom face button on either pad. On a Switch Pro Controller the bottom button is labeled B; the mapping still fires on position.
Questions
Is this the VS Code layout?
Nearly. The rows are the same, and in Zed Command B toggles the left dock.
Related
Completely free. You don't have to make an account, there are no subscriptions, and nothing is locked. Optimized for Apple silicon. Open source on GitHub.
Updated