Gamepad Connection Guide
CRT Play supports any standard gamepad that works in your browser. No drivers, no software — just plug in (or pair) and play. This page covers the three things that go wrong most often and how to fix them.
60-Second Quick Start
- Use a Chromium-based browser (Chrome, Edge, Brave, Opera). Safari has very limited support.
- Plug in a USB gamepad — this is the most reliable option and works in seconds.
- Open any game and look for the green connection dot in the How to Play panel on the right side of the page.
- Press any button on the gamepad to wake it up. Most gamepads do not report themselves to the browser until the first input.
- If the dot stays gray, see the Troubleshooting section below.
Connection Methods
CRT Play uses the browser's built-in Web Gamepad API, so the connection method is determined by your gamepad and computer, not by CRT Play. Both wired and wireless work equally well.
USB Wired (Recommended)
Plug-and-play. No pairing, no charging, no latency. The browser detects the gamepad within seconds of being plugged in. Works on every supported operating system.
Bluetooth Wireless
Requires pairing in your operating system first (see below). After pairing, the gamepad is remembered and reconnects automatically when powered on.
Bluetooth Pairing (OS-Specific)
Pairing happens in the operating system, not in the browser or CRT Play. The browser can only see a gamepad that has already been paired.
Windows 10 / 11
Win + I → Bluetooth & devices → Add device → Bluetooth. Put your gamepad in pairing mode (usually hold a dedicated button until an LED flashes rapidly), then select it from the list.
macOS
System Settings → Bluetooth. Set the gamepad to pairing mode and click Connect when it appears. Note: some third-party gamepads (notably 8BitDo on older macOS) require an additional driver — check the manufacturer's website.
Linux
Use bluetoothctl or your desktop environment's Bluetooth panel. Most modern distributions detect Xbox, PlayStation, and 8BitDo gamepads out of the box.
Browser Compatibility
The Web Gamepad API is a secure context feature, which means it only works on HTTPS sites (crtplay.com qualifies) and on localhost. Plain HTTP deployments will not detect any gamepad.
| Browser | Status | Notes |
|---|---|---|
| Chrome | Full | Recommended |
| Edge | Full | Recommended |
| Brave | Full | Chromium-based |
| Opera | Full | Chromium-based |
| Firefox | Full | Works well |
| Safari (macOS / iOS) | Limited | Many gamepads not detected — use Chrome instead |
| In-app browsers (WeChat, etc.) | Not supported | Use the system browser |
Gamepad Compatibility
Any gamepad that presents itself as a standard HID gamepad should work. Below is a representative list of models we have tested or that are widely reported to work.
| Gamepad | USB | Bluetooth | Notes |
|---|---|---|---|
| Xbox One / Series | Windows Bluetooth is driver-free | ||
| PS4 DualShock 4 | macOS Bluetooth may need extra setup | ||
| PS5 DualSense | Compatible | ||
| Switch Pro | USB mode requires no extra configuration | ||
| 8BitDo (most models) | Some models need a driver on macOS | ||
| Generic HID gamepads | Bluetooth pairing often fails — use USB |
Troubleshooting
If the connection indicator in the How to Play panel stays gray, walk through these checks in order.
1Press a button on the gamepad▾
2Check the browser▾
3Check the URL bar▾
4Re-pair Bluetooth▾
5Try a different port or cable▾
6Use keyboard as a fallback▾
Keyboard Default Mapping
Use these shortcuts if you do not have a gamepad, or while you are troubleshooting one.
| Key | Action |
|---|---|
| ↑ ↓ ← → | Directional movement (D-Pad) |
| Z | B button (attack / confirm) |
| X | A button (jump / cancel) |
| Enter | Start (pause / begin) |
| Shift | Select (menu) |
Privacy Note
Gamepad input is read entirely by your browser, in your device, and is never sent to CRT Play's servers. We do not log which buttons you press, which gamepad model you use, or any other input data. The connection indicator in the How to Play panel is rendered client-side from the browser's Gamepad API.
Still can't connect?
Tell us your gamepad model, browser version, and operating system via the Contact page — include the exact error (if any) you see in the browser's developer console (F12).
Open Contact page →