-
Notifications
You must be signed in to change notification settings - Fork 0
Controls
Home · Gameplay · User-Interface
| Input | Default action | Rebindable? |
|---|---|---|
W / A / S / D
|
Move | Yes |
| Arrow keys | Move fallback | No |
| Mouse move | Look | No |
| Left mouse | Fire; hold for automatic weapons | No |
| Right mouse | Aim down sights while held | No |
| Mouse wheel | Cycle unlocked weapons | No |
Space |
Jump | Yes |
Shift |
Sprint while held | Yes |
C |
Toggle crouch | Yes |
Q |
Use the selected character's active ability | Yes |
E |
Use the held loot power | Yes |
R |
Reload | Yes |
F |
Inspect the current weapon | Yes |
M |
Toggle expanded tactical map | Yes |
1–8
|
Select weapon slot | No |
Esc |
Pause in solo / leave pointer lock in multiplayer | No |
The controls editor stores KeyboardEvent.code bindings, so the editable bindings are layout-independent. The fixed controls are weapon digits, mouse controls, Escape, Tab, and arrow-key movement fallback. A captured rebind swaps conflicting editable bindings rather than duplicating one key.
All firearms support right-click ADS in the current weapon data. ADS reduces sensitivity and tightens base spread; a scoped Sniper has zero base spread while ADS is active. Movement, jumping, sprinting, crouching, and continuous fire still influence the final shot cone.
Only the SMG and Minigun are marked automatic. Other firearms and the Subverter fire one action per click. Auto-reload when the trigger is pulled on an empty magazine is enabled by default and can be disabled in Settings.
The solo post-wave Mystery Box overlay owns input while open.
| Input | Action |
|---|---|
1 / 2 / 3
|
Choose a box directly |
Left / Right arrows or A / D
|
Move the selection |
Enter / Space
|
Open the selected box |
Pointer lock is released during the picker, and gameplay controls are blocked so the choice cannot fire a weapon or move the player.
Touch mode activates only for a detected touch-capable mobile/coarse-pointer device. It is designed for landscape orientation; portrait displays a rotation gate and the game attempts fullscreen and orientation lock when supported.
| Touch control | Action |
|---|---|
| Left virtual joystick | Move; push to the outer ring to sprint |
| Right-side swipe | Look |
| FIRE | Shoot |
| AIM | Hold ADS |
| Jump / Dash / Crouch | Corresponding movement and class action |
| Power | Use the held loot power |
| Reload | Reload |
| Weapon | Change weapon |
| Pause | Open the solo pause menu |
Touch players receive aim assist only after real touch hardware and a browser-trusted touch interaction are detected; toggling a client flag is not enough to enable it. Haptic patterns are provided for supported Vibration API devices and can be disabled in Settings.
No Gamepad API, controller mapping, or controller UI support was found in the implementation. Controller support is therefore not implemented / unknown.
- Text inputs such as multiplayer chat suppress gameplay keyboard handling.
- Photo Mode uses movement keys for camera movement, mouse drag for free look, mouse wheel for FOV zoom, and Escape to exit.
- Multiplayer does not pause for Escape; the next canvas click reacquires pointer lock before firing.
- The Tutorial pauses the simulation while an instruction card is active.
Implementation references: src/utils/GameSettingsManager.ts, src/App.tsx, src/components/KeyBindingsEditor.tsx, src/components/TouchControls.tsx.