Everywhere
| Button | What it does |
|---|---|
| D-pad or left stick | Move the highlight. Hold it and moves repeat; after about a second they come twice as fast, then three times. |
| A | Open the highlighted item, or play the highlighted game (it fires when you let go, so a press that started elsewhere never selects) |
| B | Go back, or close a menu. On the home screen B never leaves Tandem: it goes back to the first tile. |
| X | Search all games (on the icon grid: swap the two screens) |
| Y | Options for the highlighted thing (see Y menus) |
| Start (tap) | Open Settings, or close it |
| Start (hold) | Quick panel: brightness, volume, Wi-Fi, and the like |
| Select (tap) | Surprise me: jump to a random game you have never played |
| Select (hold), or Select + Start | Game switcher: every running game, to resume or close |
| L1 / R1 | Previous or next system, collection or genre (on the icon grid: bigger or smaller icons; in Stats: tabs) |
| L2 / R2 | In a list of games, the previous or next letter (or year, rating); in other long lists and grids a page up or down (on the icon grid: L2 shows the Recently played strip, R2 jumps a page along) |
| L1 + R1 + Select | Private mode off: turn it on at once. Private mode on: show hidden games (after your PIN), or tuck them away again. See Private mode |
Button hints name Start and Select (Start, Select) as they are labelled on the Thor; with Button prompts set to Nintendo they show + and −.
Analog triggers that only report how far they are pulled (no button events) count as one L2 / R2 press each time you pull past halfway, so a trigger never fires twice.
Every screen remembers what you had highlighted. Going back, or returning from a game, puts the highlight where you left it.
Touch
Everything works by touch too, the same way as with the buttons.
| Touch | What it does |
|---|---|
| Tap a game, system, collection, app or tile | Highlight it (the other screen shows it). Tap it again to open or play it. |
| Tap a button, menu row, setting or key | Use it at once |
| Long press | The same as Y on that item: its options. On a widget: Widget options. On a row in a Y menu: what its value means, when there is more to say. On the icon grid and in its folders a long press picks the tile up instead (below); the options are on Y or the Y Options hint. |
| Tap a button hint | The same as pressing that button (A Open, Y Options, B Back, X Search…). On a ◀▶ hint, tap the left or right side. |
| Drag a list | Scroll it. The highlight stays where it was; the next D-pad press brings it back into view. |
A long press gives a short buzz. On an empty spot of the icon grid the first tap highlights it and a second tap opens Add here.
Drag and drop on the icon grid. Hold a tile, folder or widget until it buzzes: it comes up under your finger and follows it. Let go without moving and it goes back. The grid scrolls when you hold near its edge; a paged grid turns the page. The spot it would land on lights up.
- Let go on an empty spot to put it there, or on a tile to swap the two.
- Hold over a folder until it opens, then go on inside it and let go where it should be (or let go on the folder itself).
- Hold over another tile until + Folder shows, and let go: you name a new folder holding both.
- Drag out past the edge of an open folder to go back up a level.
- A widget moves whole and only lands where it fits.
Every drop can be undone (Select, or a tap on the message).
The Home button
When Tandem is your Android Home app (Settings › Data & about › Use Tandem as the Home screen, which asks Android to make it so):
- From a game or another app, Home brings you back to Tandem's home screen with every popup closed and the bottom screen restored. If a game is still running, you land on its Resume page (Home & layout › Icon grid › More › Home lands on Resume).
- With a game running and another app over it (Discord on the bottom screen over the companion, or a browser on the top screen over the game), the first Home brings the game back with its companion on the bottom screen, and the game keeps the controller. Home again within a few seconds goes to Tandem as usual.
- Home again while you're already on the home screen goes back to the start: the Resume page or the first tile.
- Tandem only ever runs once (one task), so Recents shows it once and Home never stacks a second copy.
Tapping Tandem's launcher icon while it is running does the same as Home.
Bluetooth and USB controllers
Any controller Android sees works in Tandem. A few things are worth setting up in Settings › Controls.
The controller's Home (guide) button
Many controllers in X-input mode send their Home (guide, Xbox) button as a button Android ignores
(KEYCODE_BUTTON_MODE), not as Home. Inside Tandem it works like Home anyway:
| Press | What it does |
|---|---|
| Tap | The same as Home: closes every popup and goes to the home screen, a second tap goes back to the first tile |
| Hold | Tandem's game switcher, or Android's recent apps (Hold the Home button) |
To make it work in games and other apps too, switch on Controller Home button: A on that row opens Android's Accessibility settings, where you switch on Tandem: Controller Home button. Then a tap goes to Android's Home screen from any app (Tandem's home screen, when Tandem is your Home app) and a hold opens recent apps or Tandem's game switcher.
- It is an accessibility service only so it can see that one button. It does not read the screen, and it only keeps the Home button of external (Bluetooth or USB) controllers; everything else, including the Thor's built-in controls, passes straight through.
- If the switch is greyed out, Android 13 is guarding a sideloaded app: open App info for Tandem, then ⋮ › Allow restricted settings, and try again.
- Emulators that map the guide button themselves (to open their own menu, say) won't see it while this is on. Turn it off in Accessibility settings if you'd rather they did.
Nintendo button labels, per controller
Settings › Controls › Game controllers lists the controllers connected right now by name. Each has a switch for Nintendo button labels (swap A/B, X/Y): for Switch-style controllers in X-input mode, whose button printed A sends B. Switched on, A and B (and X and Y) are swapped for that controller only, so the button printed A confirms. It applies inside Tandem; the built-in controls and other controllers are unaffected, and Swap A and B / Swap X and Y still apply to every controller on top. Emulators have their own per-controller mapping (in RetroArch, Settings › Input › Port 1 Controls; in standalone emulators, their controller settings), so set the same there if you want it in games.
Play with a controller (passthrough)
Emulators bind player 1 to the built-in controls (Eden by the controller's GUID, RetroArch by its port), so a Bluetooth or USB controller you connect is usually ignored until you remap it in each emulator. Tandem can instead let the controller play as the built-in one: games keep listening to the built-in controls, and Tandem passes the controller's buttons, sticks, triggers and D-pad to them. It works at once, mid-game, in every emulator, with nothing to change in their settings.
- During a game, a controller that connects offers itself on the bottom screen: Play with Xbox Wireless Controller? Press its A or Start (or tap Play with it). Without the companion on the bottom screen, Android shows the same question as a short message over the game. It goes away by itself after about 12 seconds.
- Start › Quick settings › Controller, or Settings › Controls › Play with a controller › Controller in games, steps through Built-in and each connected controller.
- Always use a connected pad takes any controller that connects straight away, without asking.
- Disconnecting the controller (switched off, unplugged, out of range) goes back to the built-in controls by itself.
- The built-in controls keep working alongside: both drive player 1.
How the buttons line up:
| Controller | Built-in control |
|---|---|
| A, B, X, Y, bumpers, stick clicks, Start | The same buttons (with Nintendo button labels on for that controller, A/B and X/Y swap first, as in Tandem) |
| View / Back / Select | Select |
| Guide (Xbox) button | Home |
| Sticks, D-pad | Sticks, D-pad |
| Analog triggers | The analog triggers, and L2 / R2 past 30 % of the pull (emulators such as Eden bind ZL / ZR to those buttons) |
Rumble stays on the handheld. While a controller plays as the built-in one, Android doesn't see it as a controller of its own, so its guide button is a plain Home (tap only) rather than Controller Home button above.
It needs Shizuku (or root): a game only reads the built-in controller, and only they can feed it. Without either, the setting says so and the Quick settings tile stays hidden. With root and no Shizuku, the root app asks once.
Two players. Leave Always use a connected pad off and answer Not now (or just let the offer go): the controller then stays a controller of its own, and the emulator needs it mapped as Player 2 in its controller settings.
Y menus
Y on anything lifts it out of the screen, a little bigger, over a blurred background, with a short list of actions beside it. The first few are the ones you use most; the rest sit under More…. B goes back from More, and closes the menu from the first page; the item settles back into its place.

On a game: Play (or Resume), Favorite, Add to Up next, Pin to home (icon grid), Edit details. More: Emulator (A cycles through the installed ones), Start on top or bottom screen, Choose artwork, Scrape this game, Hide, Reset play history, View options.
On a system, collection or genre: Open, Rescan games, Scrape these games, Sort by, Game titles, Show hidden games.
On an icon grid tile: Open, Move, Select, Move to folder…, Also add to folder…, Take out of the folder (Move up to… in a folder inside a folder), Sort and view or Game options, Design folder…, Rename folder, Sort inside…. More: Delete folder…, Hide, App info, Remove from home (Remove from folder inside one), Add to home…, Sort this folder…, Tidy up, Undo last change, Search, Swap screens.
On an empty spot of the icon grid: Paste (while carrying a tile), New folder…, Game…, System…, Collection or genre…, App…, Tandem app…, Widget…. More: Tidy up, Undo last change, Search, Swap screens.
On a widget on the icon grid: Widget options…, Move, Resize, the widget's own actions. More: Remove widget, Select, Tidy up, Undo last change, Search, Swap screens.
With tiles selected (Y on a tile or an empty spot): Move here, Move to folder…, Also add to folder…, New folder from selection, Remove from home (or from the folder), Hide, Select all, Clear selection.
On an app (dock, All apps, Android apps): Open, Open on the other screen, Move left and right (dock), Always open on, Add to home, Pin to dock or Unpin, Rename, Choose icon. More: Treat as game, Hide from drawer, App info, Uninstall… See Android apps.
In All apps, X searches. Holding Back for a moment while an app is in front moves it to the other screen (Android apps).
The icon grid
| Button | What it does |
|---|---|
| D-pad | Move between icons and empty spots, one spot at a time; Left and Right keep their row, Up and Down their column, over gaps and widgets. Left from the first column reaches the Resume page when a game is running |
| A | Open the icon (a folder pops up over the grid). On an empty spot: the Add here menu. Hold A to select the icon |
| Y | The tile menu: move, folders, remove, add. On an empty spot: the Add here menu |
| X | Swap the screens |
| L1 / R1 | Bigger or smaller icons. With fixed rows (Rows of icons), L1 means fewer rows and R1 more, from 1 to 5 (1 to 3 on the bottom screen); L1 on the biggest automatic size steps on to fixed rows. Tiles ease to their new size and the highlighted one stays where it is. |
| L2 | Show or hide the Recently played strip (or set it to always show) |
| R2 | A page along the grid, onto the next icon (empty spots are skipped) |
| B | Back to the first icon |
At 1 row the grid looks like the 3DS HOME menu zoomed all the way in: one row of big icons in the middle of the screen, and the highlighted item's kind, name, count or play time and a strip of its art above it.
On the Resume page: A resumes the game, Y closes it (press twice: closing loses unsaved progress), X opens the game switcher when more than one game runs. A long press there opens the game's options, never Close.
While moving a tile it rises off the grid and glides from spot to spot: the D-pad moves it one spot at a time (into empty spots too, anywhere on the empty canvas, hopping over widgets), L1 / R1 a screen at a time, A drops it, B puts it back. Y carries it instead: the D-pad moves freely again, folders open with A, and A on an empty spot › Paste puts it there, on the home grid or inside a folder. B stops carrying. While moving a widget, Y changes its size instead. Select puts the tile back and selects it. On a touch screen, a tap on the moving tile drops it, a tap on an empty spot puts it there, and a tap anywhere else puts it back. A move left alone for a minute goes back by itself.
Selecting several tiles
Y › Select, holding A on a tile, or Select while moving a tile starts a selection on that grid (the home grid or one folder). Selected tiles sit a little smaller with a check mark, and a pill at the top shows how many. While selecting:
| Button | What it does |
|---|---|
| A or Select | Select or deselect the highlighted tile (folders don't open) |
| Y, or A on an empty spot | What to do with the selected tiles |
| B | Clear the selection |
Move here puts the selected tiles in the highlighted spot and the free spots after it, in the order they had on the grid; widgets take the first place they fit whole. Move to folder… and Also add to folder… put them in a folder (moved, or added while staying where they are). New folder from selection makes a folder of them in the place of the first one. Hide hides the games, systems and folders among them.
Undo
Changes that take something away or move several things can be undone: removing, hiding, moving, deleting a folder, taking out of a folder, Tidy up, sorting the home grid, a Cocoon import, and removing or resizing a widget. After each one a message shows for 6 seconds; Select (or a tap on the message) undoes it. Undo last change is under More… in the Y menu, and in the Start panel while there is something to undo. The last 20 changes are kept, also after a restart.
Hiding or unhiding a game, folder or system, favouriting, and taking a game off Up next ask nothing either: their message offers Undo the same way. A hidden game is gone from view, so after the 6 seconds Start › Hidden is the way back.
Hold to confirm
What can't be undone (deleting a game, a folder with its subfolders, a file, a screenshot, a backup or a play session; clearing sessions or downloaded media; resetting play history or the look; restoring a backup) asks you to hold A on the button until its ring fills, under a rising tone. Let go sooner and nothing happens. On the touch screen, press and hold the button.
Empty spots
Empty spots look like nothing until the highlight lands on one: then the ring and a small + show. After the last item the grid always leaves room to place things: two screens of empty columns (rows on a grid that scrolls up and down, whole pages on a paged grid). Only what you place is saved. Folders have empty spots too.
A or Y on an empty spot opens Add here:
- New folder… names an empty folder and puts it in this spot (on the home grid, or inside a folder that sits on the home grid).
- Game… lists every game by system. A picks (several at once, numbered in order), X searches with the on-screen keyboard, Start or Add puts them in this spot and the free spots after it.
- System…, Collection or genre…, App…, Tandem app… list what isn't on the grid yet; what you pick goes in this spot.
- Widget… adds a widget in this spot (home grid only), at its usual size or the biggest that fits.
- Paste appears while you carry a tile.
On a touch screen, the first tap on an empty spot highlights it and a second tap opens Add here.
Removing, hiding or moving an icon leaves its spot empty; nothing else shifts. Tidy up (Start, or More… in the Y menu) packs every icon to the front, keeping their order and fitting widgets in whole. When the number of rows changes (L1 / R1, or swapped screens), icons keep their row and column if they still fit; otherwise they flow in order, gaps included. A grid without gaps flows as before.
Widgets on the grid
A widget on the grid covers 1×1, 2×1, 1×2 or 2×2 cells (columns × rows); nothing else goes in the cells it covers. The D-pad moves onto and off it like any icon. Y on it: Widget options…, Move, Resize (the next size that fits where it is), and the widget's own actions; Remove widget is under More. A widget never spans two pages on a paged grid.
Built-in apps
Tandem's own apps sit on the icon grid like any other tile (Y › Remove from home takes one off, Y › Add to home… brings it back):
| App | Buttons |
|---|---|
| Gallery | A views a screenshot full screen (Left / Right step through), Y deletes it after a confirm |
| Journal | A writes a note for a session, Y a note for the game; the chips switch between Timeline, Games and With notes |
| Up next | A plays (or edits a note), X adds a game or note, Y removes, Select clears played games |
| Files | A opens a folder, Y deletes the file or folder after a confirm, B goes up a folder |
| Controller test | Every button and stick lights up as you press it; hold B to leave |
| Themes, Stats, Achievements | Open their screens |
On a system screen
| Button | What it does |
|---|---|
| L1 / R1 | Previous or next system |
| L2 / R2 | Jump to the previous or next letter (sorted by name), year or star rating, or a page of games for other sorts; a bubble shows where you landed |
| Y, on a folder | The View menu: sort order, game titles, hidden games |
Search
X opens search from anywhere (except the icon grid, where X swaps screens; Y › Search there). The left side is a keyboard laid out for the D-pad: letters, numbers, Space, ⌫ to delete and Clear. Results appear on the right as you type; move right into them and press A to play. X deletes a letter, Y on a result opens its game menu. Search ignores case, accents and punctuation. B goes back to the keys, then closes.

Text entry
Anywhere Tandem needs you to type something longer, such as a name or an API key, it shows a full on-screen keyboard. ⇧ switches to capitals, #+= to symbols, and Done confirms. B cancels.
The private mode PIN has its own keypad, laid out like a phone's: the D-pad and A type a digit (or tap it), X deletes, Start or OK confirms, Y is Forgot PIN, B cancels.
Settings
Settings opens on nine tiles, one per page, each showing what is set now; Quick looks below them apply a whole setup in one press (press A again to undo). On a page:
| Button | What it does |
|---|---|
| A | Switch a toggle, step to the next value, open a link, or run an action (the hints say which) |
| Left / Right | Step a choice or a slider back and forth (rows drawn ‹ value ›) |
| A on More options | Show the less common settings of that group |
| X | Search every setting by name or by what it does ("nintendo", "bigger", "quiet"); A on a result takes you to it |
| L1 / R1 | Previous or next page |
| B | Back to the tiles |
| Start | Close Settings |
Game search (X outside Settings) also finds systems, apps and settings: they show as chips above the games.