Overview
Minecraft Web Client features comprehensive control support with fully customizable keybindings, gamepad support, and mobile touch controls. All controls are handled through the ControMax library with support for keyboard, mouse, and gamepad inputs.Controls are configured in the game settings and stored in your browser’s local storage.
Default Keyboard Controls
Movement
Move forward
Move backward
Strafe left
Strafe right
Jump / Swim upDouble-tap: Toggle flying (in Creative/Spectator)
Sneak / Descend while flying
SprintAlternative: Double-tap W to sprint
Actions
Attack / Break block
Use item / Place block / Interact
Pick block (Creative mode)Copies the block you’re looking at to your hotbar
Cycle through hotbar slots
Select hotbar slot 1-9
Inventory & Interaction
Open/close inventory
Drop item (single item from stack)
Drop entire stack
Swap items between hands
Select item (pick block in Creative)
Communication
Open chat
Open chat (alternative)
Open chat with
/ prefix (command mode)Hold: Show player list
Toggle microphone (voice chat)
Camera & View
Cycle perspective (First person → Third person back → Third person front)
Zoom (OptiFine-style)
Toggle UI visibility
Take screenshotSaves to downloads folder as PNG
System & Interface
- In game: Pause menu
- In menu: Go back / Close
- Ctrl+Esc: Close all modals
Toggle fullscreen
Toggle full-screen minimap
Toggle viewer console (debug)
Camera Controls
The client supports multiple camera control methods:Mouse Camera
Pointer Lock mode (default):- Click the game to lock mouse pointer
- Move mouse to rotate camera
- Smooth, responsive rotation
- Supports Raw Input mode
Raw Input (
options.rawInput) disables mouse acceleration for precise aiming. Recommended for all platforms, enabled by default.Keyboard Camera Rotation
Rotate camera using keyboard (useful for accessibility):Rotate camera (when bound in settings)Default: Not bound (customizable)
general.rotateCameraLeftgeneral.rotateCameraRightgeneral.rotateCameraUpgeneral.rotateCameraDown
Camera Perspectives
Cycle with F5:- First Person
- Third Person Back
- Third Person Front
Default view - see from player’s eyes
Gamepad Support
Full Xbox/PlayStation controller support with customizable button mappings.Default Gamepad Layout
Movement
Left Stick: MoveRight Stick: Look aroundClick Left Stick: SprintClick Right Stick: Toggle sneak
Actions
A Button: Jump / Select (UI)B Button: Drop item / Back (UI)X Button: Inventory / Confirm (UI)Y Button: (Customizable)
Triggers
Right Trigger: Attack/BreakLeft Trigger: Use/PlaceRight Bumper: Next hotbar slotLeft Bumper: Previous hotbar slot
Special
D-Pad Up: Toggle perspectiveD-Pad Down: SneakD-Pad Left: Player listD-Pad Right: ChatStart: Pause menu
Gamepad polling runs at 10ms intervals for responsive input.
UI Navigation with Gamepad
- A: Select / Left click
- B: Back / Cancel
- X: Right click (context menu)
- Left Stick (Click): Speed up cursor movement
F3 Debug Controls
Advanced debug shortcuts accessed with F3 + key:Toggle debug overlay (FPS, coordinates, chunk info)
Reload all chunksUseful when chunks appear corrupted or incomplete
Toggle chunk borders and entity outlines
- Yellow: Chunk sections
- Red: Hostile mobs
- Green: Passive mobs
- Blue: Players
Show chunks debug menu
Reload texturesReloads resource pack textures
Open widget menuAccess minimap, waypoints, and other widgets
Show player and ping detailsDisplays:
- Player UUID
- Current ping to server
- Proxy server latency
Cycle game modeCreative → Survival → Adventure → Spectator
Customizing Keybindings
All keybindings are fully customizable through the settings menu.Accessing Keybindings
Customize
Click any action to rebind it
- Press the desired key/button
- Supports multiple bindings per action
- Separate keyboard and gamepad bindings
Keybinding Storage
Keybindings are stored in local storage and synced via Valtio:Your keybindings are preserved across sessions and browser restarts.
Keyboard Layout Support
Chromium browsers only: The client uses
navigator.keyboard.getLayoutMap() to display the correct key symbols for different keyboard layouts (QWERTY, AZERTY, etc.).Special Control Modes
Flying Controls
In Creative or Spectator mode:Fly upward
Fly downward
Toggle flying on/off
Spectator Mode
Additional controls when spectating:- Click on entity: Spectate that entity
- Shift+F5: Exit entity spectating
- Fly through blocks
- No collision detection
Control Settings
Recommended Settings
From the README, these settings improve control experience:Raw Input (Enabled by default)
Raw Input (Enabled by default)
Controls → Raw Input → OnMakes camera controls more precise by disabling mouse acceleration.
Especially important for Mac users!
Touch Controls Type
Touch Controls Type
Controls → Touch Controls Type → JoystickBetter mobile experience with virtual joystick.
Auto Full Screen
Auto Full Screen
Controls → Auto Full Screen → OnPrevents accidental Ctrl+W (close window) during gameplay.
Advanced Control Options
Access via browser console:Mobile Touch Controls
See Mobile & Touch Support for comprehensive touch control documentation, including:- Virtual joysticks
- Touch buttons
- Gesture controls
- Mobile-specific optimizations
Controller Support
See Controller Support for detailed gamepad configuration, including:- Button remapping
- Stick sensitivity
- Trigger customization
- Multiple controller support
Browser-Specific Features
Chromium Browsers (Chrome, Edge, Brave)
Keyboard Lock
navigator.keyboard.lock() in fullscreenAllows using Ctrl+W, Ctrl+T, etc. in-gameLayout Detection
navigator.keyboard.getLayoutMap()Shows correct key symbols for your layoutAll Browsers
Pointer Lock
requestPointerLock({ unadjustedMovement: true })Raw mouse input for precise camera controlTroubleshooting
Controls Not Responding
Controls Not Responding
Cause: Game window not focused or pointer not lockedSolutions:
- Click on the game canvas
- Check if pointer lock is active
- Reload the page
Mouse Too Sensitive/Slow
Mouse Too Sensitive/Slow
Cause: Mouse sensitivity settingSolutions:
- Adjust in Settings → Controls → Mouse Sensitivity
- Try enabling/disabling Raw Input
- Check system mouse settings
Gamepad Not Detected
Gamepad Not Detected
Cause: Gamepad not connected or browser doesn’t supportSolutions:
- Ensure gamepad is properly connected
- Press any button to activate gamepad
- Check browser gamepad API support
- Try Chrome/Edge for best compatibility
Keybinding Conflicts
Keybinding Conflicts
Cause: Multiple actions bound to same keySolutions:
- Review keybindings in Settings
- Reset to defaults if needed
- Clear browser storage and reconfigure
Vivaldi Browser Issues
Vivaldi Browser Issues
Cause: Mouse gestures interfering with controlsSolutions:
- Disable Raw Input in game settings
- Disable mouse gestures in Vivaldi settings
Opera Mini Issues
Opera Mini Issues
Cause: Mouse gestures opening new tabs on right-clickSolutions:
- Disable mouse gestures in Opera settings
