App

Cursor from a game controller

Download InputConfig on the Mac App StoreThe Cursor 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. The layout sends the app's default shortcuts. Nothing to enable.

Yes, the Cursor editor works from a game controller on a Mac, with the VS Code layout unchanged, because Cursor keeps VS Code's keys. Save, find, the command palette and the sidebar sit on the face buttons. Reading a codebase and reviewing diffs from a chair is what this is for.

The layout, control by control

Click a control. Labels:

How the layout thinks

  • Common commands. Save on the bottom face button, find on the right, the command palette on the left, the sidebar on the top.
  • 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 for Cursor's AI

  • Chat and composer. Put Command L and Command I on the stick clicks.
  • Accept a completion. Put Tab behind a chord.
  • Speak a prompt. A Start Dictation row puts your words straight into the chat box.

Two stick clicks and a dictation row turn this into a way to talk to the AI from across the room.

Get it in two clicks

  1. Get InputConfig free on the Mac App Store, open it, and click Smart Preset Maker on the welcome screen.
  2. Search for Cursor and pick it. The layout is created as a preset in your sidebar, named and ready.
  3. 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

The Cursor preset in InputConfig, drawn on a DualSense Edge with each control labeled with the key or action it sends.
Figure 1. The Cursor preset drawn on a DualSense Edge in InputConfig's Live Visualizer. For example, Right trigger is labeled Click, and A / Cross is labeled Save. Any other controller shows the same layout on its own drawing.
ControllerSendsWhat it does
Left stick leftMouse motion left (speed 16)Cursor left
Left stick rightMouse motion right (speed 16)Cursor right
Left stick upMouse motion up (speed 16)Cursor up
Left stick downMouse motion down (speed 16)Cursor down
Right stick downScroll downScroll down
Right stick upScroll upScroll up
Right triggerLeft clickClick
A / CrossCommand (Left), SSave
B / CircleCommand (Left), FFind
X / SquareCommand (Left), Shift (Left), PCommand palette
Y / TriangleCommand (Left), BToggle sidebar
D-pad leftCommand (Left), Alt / Option (Left), LeftPrevious editor
D-pad rightCommand (Left), Alt / Option (Left), RightNext editor
D-pad upUpLine up
D-pad downDownLine down
LB / L1Command (Left), ZUndo
RB / R1Command (Left), Shift (Left), ZRedo
Start / OptionsEscapeEscape

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?

Yes. Cursor keeps VS Code's keys, so the rows are the same.

Download InputConfig on the Mac App StoreCompletely 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