Default browser keyboard controls
| PS2 input | Keyboard |
|---|---|
| Cross | Z |
| Circle | X |
| Square | A |
| Triangle | S |
| Shoulder buttons | Q, W, 1, 2 |
| Start | Enter |
| Select | Backspace |
| D-pad | Arrow keys |
| Left analog stick | I, J, K, L |
| Fullscreen | F |
This mapping comes from the reviewed browser README. Game-level control layouts still differ, and a key labeled Cross does not describe what that button does in every title. Focus the actual game canvas when testing input. The native runner’s mapping has differences: its arrow keys serve the D-pad and the left stick, and F11 toggles fullscreen.
Gamepads and pressure-sensitive triggers
The browser runtime reads controllers through the Gamepad API. Analog triggers are passed to the game as the DualShock 2’s pressure-sensitive L2 and R2 inputs. Vibration is available where the browser exposes it, with Chrome and Edge mentioned upstream. API presence alone does not mean your particular controller’s layout or motors have been tested.
Connect the controller before testing and press a button if the browser has not exposed it yet. Check both digital buttons and analog axes. The upstream page includes on-screen controls for phones, but a touchscreen interface does not establish that the device has enough graphics performance for the documented scenes.
How saving works
The page inserts a memory card in slot 1 and retains it in browser storage for the address from which the game is served. The game formats and writes it through its ordinary in-game save system. Reloading the same origin can preserve progress, but a different host, port, profile or browser has a different storage context.
Changing from localhost:8620 to another hostname or port can therefore look like a missing card even when the original card still exists at the old address. Browser data clearing and private browsing can also make browser-managed storage unsuitable as your only backup. Export a file before changing the environment.
Export and restore a card
- Save within the game and let the write finish.
- Use Export card in the local runtime to download the
.ps2memory card file. - Keep a dated copy outside browser storage.
- At the destination runtime, back up any existing card before choosing Import card.
- Open the game’s load menu and verify the expected save.
The project describes the exported layout as the one PCSX2 uses, so cards can be moved between browsers or supplied from PCSX2. This describes the container layout; it does not promise that every title or regional save is interchangeable. Importing a card can replace the card currently in slot 1.
Testing an empty slot
The upstream ?nocard option starts with an empty slot. Use it deliberately when diagnosing a game’s no-card behavior, and do not mistake that mode for failed persistence. Changing the resolution also reloads the runtime page, so save and export before making changes during a long session.
Source: Upstream project documentation · reviewed 15 October 2026.
Source: Upstream project documentation · reviewed 15 October 2026.