DEVONthink from a game controller
The DEVONthink 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: DEVONthink reads these keys like a keyboard. The rows come from the Markdown note layout, so check each face button against DEVONthink's menus.
Yes, you can read and search a DEVONthink database from a game controller on a Mac: the right stick scrolls, the left stick is a pointer, a face button opens search. A library is read more than it is written, which suits a controller. The face buttons come from the Markdown note layout, so check each against DEVONthink's menus.
The layout, control by control
How the layout thinks
- Read. The right stick scrolls, the left stick moves the pointer, the right trigger clicks.
- Face buttons from the Markdown layout. Command O on the bottom, Command N on the right, Command Shift F on the left, Command E on the top.
- Back out. Escape on Start.
Check the face buttons
- You: Open DEVONthink's menus and find the commands you want on the four face buttons, such as search and a new document.
- InputConfig: Sends the Markdown layout's keys until you change a row.
- Check: Press each face button. Where DEVONthink's menu shows a different key for what you want, set that key as the row's output.
Search is the face button worth getting right first.
Tune it for reading
- Page by page. Put Page Down on a bumper.
- Next document. The arrow keys move through the item list. Put them on the D-pad.
- Read aloud. Use Speak Selection after Select All.
- Annotations. Add a Start Dictation row.
A research database read from a chair is still research.
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 DEVONthink 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
Why do some buttons do the wrong thing in DEVONthink?
The rows come from the Markdown note layout. Change them to DEVONthink's shortcuts from its menus.
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