Overview
Minecraft Web Client includes first-class controller support with automatic gamepad detection, configurable button mappings, and a dedicated UI cursor system for menus. Connect any standard gamepad (Xbox, PlayStation, Switch Pro, etc.) and play seamlessly.Supported Controllers
Xbox Controllers
Xbox One, Xbox Series X/S, Xbox 360 controllers fully supported
PlayStation
PS4 and PS5 DualShock/DualSense controllers
Generic Gamepads
Any controller compatible with the Gamepad API
Quick Start
Connect Your Controller
- Wired: Plug in via USB
- Wireless: Connect via Bluetooth
Test Detection
Move the analog sticks or press any button. If detected, you’ll see:
- UI cursor appears on screen
- Movement responds to left stick
Default Button Mappings
Fromsrc/controls.ts:44-90:
Movement Controls
General Controls
UI Navigation
Gamepad UI Cursor
When using a controller, a virtual cursor appears for navigating menus and UI elements.Cursor Movement
Fromsrc/app/gamepadCursor.ts:7-18:
Scrolling with Right Stick
Fromsrc/app/gamepadCursor.ts:66-85:
Button Reference
Combat & Building
| Action | Xbox | PlayStation | Function |
|---|---|---|---|
| Attack/Break | RT | R2 | Break blocks, attack entities |
| Place/Use | LT | L2 | Place blocks, use items |
| Drop Item | B | Circle | Drop held item |
| Swap Hands | (unmapped) | (unmapped) | Swap main/offhand |
Movement & Camera
| Action | Xbox | PlayStation | Function |
|---|---|---|---|
| Move | Left Stick | Left Stick | Walk/strafe |
| Look | Right Stick | Right Stick | Camera rotation |
| Jump | A | X | Jump / Fly up |
| Sneak | D-pad Down | D-pad Down | Sneak / Fly down |
| Sprint | L3 Click | L3 Click | Toggle sprint |
| Toggle Sneak | R3 Click | R3 Click | Toggle sneak |
UI & Menus
| Action | Xbox | PlayStation | Function |
|---|---|---|---|
| Select/Confirm | A | X | Click buttons, select items |
| Back/Cancel | B | Circle | Close menus, go back |
| Right Click | X | Square | Context actions |
| Pause Menu | Start | Options | Open pause menu |
| Speed Cursor | L3 Click (hold) | L3 Click (hold) | Faster cursor movement |
Hotbar & Inventory
| Action | Xbox | PlayStation | Function |
|---|---|---|---|
| Next Slot | RB | R1 | Cycle hotbar right |
| Previous Slot | LB | L1 | Cycle hotbar left |
| Inventory | X | Square | Open inventory |
Advanced Features
Gamepad Polling
The client polls gamepad input at high frequency:Gamepad Detection
Automatic detection from movement updates:UI Cursor State
Access cursor state programmatically:Emulating Mouse Clicks
Fromsrc/app/gamepadCursor.ts:184-224:
Customizing Controls
Troubleshooting
Controller Not Detected
-
Check Connection
- Ensure controller is properly connected (USB or Bluetooth)
- Try pressing buttons to wake it up
- Check browser console for Gamepad API errors
-
Browser Compatibility
- Use Chrome, Firefox, or Edge (best support)
- Safari has limited gamepad support
- Ensure browser permissions are granted
-
Test Detection
Buttons Not Working
- Verify button mappings in Settings → Keybindings
- Check that the controller is recognized by the Gamepad API
- Try disconnecting and reconnecting
- Test with different browser
Cursor Too Fast/Slow
- Hold L3/Left Stick button to speed up cursor (2x multiplier)
- Adjust sensitivity in game settings
- Try different controllers with better analog precision
Touch Controls Override Gamepad
The client automatically hides touch controls when a gamepad is detected:miscUiState.usingGamepadInput.
Platform Notes
Windows
- Xbox controllers: Native support via XInput
- PlayStation controllers: Use DS4Windows or Steam Input
- Generic controllers: DirectInput support
macOS
- PS4/PS5 controllers: Native Bluetooth support
- Xbox controllers: Requires wireless adapter or wired connection
- Switch Pro Controller: Works via Bluetooth
Linux
- Most controllers work via evdev
- May require xboxdrv for Xbox controllers
- Steam Input provides universal support
Mobile
- Android: Bluetooth controller support varies by device
- iOS: MFi-certified controllers recommended
- Some controllers require browser flags
Advanced Console Commands
Access gamepad internals via browser console:Icon Support
The client includes PlayStation button icons:playstation_triangle_console_controller_gamepad_icon.svgplaystation_square_console_controller_gamepad_icon.svgcross_playstation_console_controller_gamepad_icon.svgcircle_playstation_console_controller_gamepad_icon.svg
See Also
- Mobile & Touch Controls - Touch input for mobile devices
- Keybindings - Customize all controls
- Settings - Game configuration options
