Ulysses from a game controller
The Ulysses 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: Ulysses reads these keys like a keyboard. The rows come from the Markdown note layout. Check the top face button against Ulysses' own shortcut list.
Yes, Ulysses works from a game controller on a Mac with a writer's layout: Quick Open on the big button, a new sheet beside it, search on the third. Add dictation on a bumper and the first draft can happen on the sofa, with editing saved for the desk. One row needs Ulysses' own key.
The layout, control by control
How the layout thinks
- Find and start. Quick Open (Command O) on the bottom face button, a new sheet (Command N) on the right, search (Command Shift F) on the left.
- Point and scroll. The left stick is the pointer, the right stick scrolls, the right trigger clicks, Escape is on Start.
- The odd one out. The top face button sends Command E, a preview toggle in other Markdown apps.
Give the top button a Ulysses job
- You: Open Ulysses' menus, find the preview or export preview command you use, and set its key as the top face button's output.
- InputConfig: Sends that key in place of Command E.
- Check: Press the top face button with a sheet open and the preview appears.
Everything else on the pad already speaks Ulysses.
Tune it for drafting
- Dictation. Add a Start Dictation row on a bumper.
- Hear it back. Speak Selection on the other bumper catches dictation slips.
- Typewriter mode. Put its key from the View menu on a stick click.
- Goals and the library. Pointer work, easier with a lower Pointer speed on the preset's page.
Write it by voice, then let the Mac read it back before you edit.
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 Ulysses 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), O | Quick switcher (Cmd+O) |
| B / Circle | Command (Left), N | New note (Cmd+N) |
| X / Square | Command (Left), Shift (Left), F | Search (Cmd+Shift+F) |
| Y / Triangle | Command (Left), E | Toggle edit / preview (Cmd+E) |
| Start / Options | Escape | Close / Esc |
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
Does this match the Bear layout?
Yes, it has the same shape as the Bear layout. Both start from the Markdown note layout.
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