◆Plaster// Controls
Deep dives

Controls

// src/main.js · src/gamepad.js · added 2026-10-16

Three ways to play, all active at once: mouse and keyboard, keyboard only, or a controller. Keyboard-only and controller play don't need the mouse captured, so they also work over remote desktop.

01Starting and pausing

StartingJoining a match or starting Practice drops you straight into play; the pause screen only appears when you pause. If the browser hasn't given the game the mouse yet (after a page load), keys and controller work at once and a hint says Click to aim with the mouse: that click captures the mouse without firing.
MouseClick: the mouse is captured for aiming. Esc frees it and pauses.
KeyboardPress Enter on the menu: the game runs without capturing the mouse. Esc pauses, Enter resumes.
ControllerPress Ⓐ (or Start) on the menu; Start pauses and resumes. The menu shows the controller layout as soon as one is connected.
FallbackIf the browser refuses to capture the mouse (some remote-desktop setups), the game starts in keyboard mode automatically.
The menu with keyboard controls and, below, the controller layout shown because a controller is connected.Menu
The menu with a controller connectedKeyboard controls on top, controller layout underneath.

02Keyboard and mouse

WASDMove
MouseLook
ArrowsLook (no mouse needed)
L-ShiftSprint
SpaceJump
CCrouch
Q / ELean
LMB / EnterShoot
RMB / R-ShiftAim down sights
RReload
EscPause

Keyboard-only shooting is on Enter (also /) and aiming on Right Shift (also .), next to the arrow keys. Ctrl is avoided on purpose: Ctrl+W while walking would close the browser tab.

03Controller

LSMove (push further = faster)
RSLook
L3Sprint
RTShoot
LTAim down sights
ⒶJump
ⒷCrouch
ⓍReload
LB / RBLean
StartPause
ControllersAnything the browser reports in the standard layout: Xbox, PlayStation (✕ ○ □ △ in place of Ⓐ Ⓑ Ⓧ Ⓨ), Switch Pro. Plug in or pair, then press a button so the browser sees it.
FeelDead zone on both sticks (small drift is ignored), a response curve on the right stick for fine aim, look speed halved while aiming down sights. Sprint is CoD-style: click L3 and it holds until you stop pushing forward. Crouching (C, Ctrl or Ⓑ) ends a sprint and you can't sprint crouched; Shift or L3 stands you up and sprints again.
RumbleA light tap when you fire and a strong one when you're hit, on controllers that support it.
SoundBrowsers only start audio after a click or key press, and a controller button doesn't count in every browser. If it's silent, press any key once.

04Menus and online

MenusArrow keys or D-pad/stick move, Enter or Ⓐ selects, Esc or Ⓑ goes back. Ⓐ on a dropdown cycles its options; left/right on the D-pad moves a slider.
Sprint staminaSprint lasts about 4.5 s from full and refills over 3.5 s once you've been off it for 0.8 s. Run it dry and you're winded: no sprint until it's back to 35%. A thin bar over the ammo counter shows it while it isn't full (orange when winded). Sprint is 6.2 m/s, run 4.6 m/s.
SpectatingSearch & Destroy, once you're out: Space or Ⓐ switches to the next living teammate.
ScoreboardHold Tab or Back/View during an online match.
Leave / menuFrom the pause screen: L or Ⓨ leaves an online match (a bot takes your place) or returns to the main menu from practice.
Capture a taskDev builds only: hold T to dictate a task for the task board, release to review it. In a match it pauses first.
SettingsMouse sensitivity, controller look speed, invert controller look, field of view, volume, FPS counter and ping readout (main menu › Settings). Name and jersey number are under main menu › Operators.

05Map editor

The editor works without a mouse too: WASD moves, the arrow keys look around, E/Q go up and down. See the Map editor page for the full list.