> For the complete documentation index, see [llms.txt](https://docs.kouch.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kouch.dev/controllers/joining.md).

# Join with a controller

Press A to join. Up to 8 players, every one with motion, on any screen.

**Press A on a controller to join.** It takes the next free seat and gets its own colour. You can do this on any screen while no game is running. Kouch shows **Player 2 joined** (or whichever seat it was) so you know it worked.

Up to **8 players** can join, and **every one of them can have motion**.

A ninth controller waits: the Players screen says **All 8 seats are taken. A controller joins when a seat frees up.** When someone leaves, or a kept seat runs out, the waiting controller takes that seat by itself.

![All 8 seats taken](https://3008865259-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiaV8VKDYJngjWWkPZx0Q%2Fuploads%2Fgit-blob-e574ce2c5af3c7925106e709340199e052e5eb3b%2Fseats-full.png?alt=media)

## The Players screen

Open it from the main menu (**Start › Players**), or choose the player dots in the top bar.

![The Players screen with five players seated and one controller waiting](https://3008865259-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiaV8VKDYJngjWWkPZx0Q%2Fuploads%2Fgit-blob-ec76a4684e902b182a74e4ad8402d3b933924189%2Fplayers-screen.png?alt=media)

Each player has a box with:

* **The player number and colour.** The dots in the corner show the position, like the lights on a controller.
* **A picture of the controller**, in the player's colour. **Settings › Display › Controller pictures** picks **Realistic** or **Simple** pictures.
* **Power:** battery level, **Wired**, **Charging**, **LAN** for a player on another PC, or a Remote Play guest's name.
* **A motion badge** when the seat carries motion. See [Motion](/controllers/motion.md).

A controller that's switched on but hasn't joined shows in an outlined **Join** box: **Controller waiting — press A to join**. When several are waiting they share that box, and it cycles through them.

The boxes grow with the number of players: one big card for the first player, a row of four, then two rows of four.

When everyone's in, press **A** (**Done**) or **B** to go back.

## Which controllers work

Kouch reads controllers through Steam Input and directly from your system, and merges the two views of each controller. In practice, that's every controller Steam supports:

* standard controllers, touchpad controllers and pro-style controllers, wired or wireless;
* the Steam Controller (both generations) and the Steam Deck's own controls;
* split-pair controllers (a controller that comes apart into two halves; see [Split-pair controllers](/controllers/split-pair.md));
* keyboard and mouse as a player (see [Keyboard and mouse as a player](/controllers/keyboard-and-mouse.md));
* players on another PC in your home, through LAN play (see [LAN play](/online/online/lan-play.md)).

{% hint style="info" %}
For every controller to work, **start Kouch from Steam**. See [Start Kouch from Steam](/getting-started/start-from-steam.md).
{% endhint %}

## Controller not connecting?

On the Players screen, press **Start** (**Controller not connecting?**) for these tips:

1. Turn the controller on, then press **A** on it.
2. Wired: try another USB port or cable. Some hubs don't pass controllers through.
3. Wireless: pair it in your system's Bluetooth settings first, then press **A**.
4. Steam must be running, and Kouch must be started from Steam.
5. Keyboard and mouse can play too: turn it on in **Settings › Controllers**.
6. Holding a different controller than Player 1? Press **LT** on it to become Player 1.

## Seat controllers automatically

By default a controller only joins when you press **A** on it, so a pad left on the table doesn't take a seat. To seat every controller as soon as it connects, turn on **Settings › Players › Seat new controllers automatically**.

## When a controller disconnects

When a controller turns off or runs out of battery, **its seat waits for it**. The box shows **Reconnect to resume**, and when the same controller comes back it drops straight into its old seat. The game keeps the seat, too, so nobody's player number changes mid-game.

Kouch also remembers seats between sessions: the next time you start Kouch, each controller goes back to the seat it had.

By default a seat waits for as long as Kouch is open. To free empty seats sooner, set **Settings › Players › Keep empty seats for** to a time (up to 120 seconds). The default is **No limit**.

## Battery

Each player's battery shows on their box on the Players screen and in quick access (**Select**). **USB** or **Wired** means the controller is plugged in.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kouch.dev/controllers/joining.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
