Play Minecraft Java with a gamepad.
BetterController makes Minecraft feel like a console game. Plug in your controller, launch the game, that's it. No menus to navigate, no setup, no server install — just play.
Why BetterController?
- Zero-allocation tick loop. No stutter from the input layer, even on potato machines.
- Full GUI navigation. Inventories, chests, creative search, world list, options menu — all driven from the gamepad.
- Creative double-tap fly works. Tap A twice in creative and you take off. Reliably.
- Right stick scrolls. Any scrollable screen, including the creative inventory.
- Client-side, MIT, open-source. No server install. Use it on any server.
Features
- Plug-and-play detection for Xbox, PlayStation, Switch Pro and generic XInput pads.
- Analog look with per-axis deadzone, anti-deadzone, configurable response curve and adaptive smoothing.
- 5-slider in-game settings screen for the values you actually want to tune (movement deadzone, look X/Y sensitivity, look speed, trigger threshold).
- Virtual keyboard overlay for chat and text fields.
- Glyphs adapt to your controller type — Xbox shows A/B/X/Y, PlayStation shows Cross/Circle/Square/Triangle, Switch shows its layout.
- Debug overlay (F8) showing raw axes, triggers and pressed buttons.
- Live config reload — edit
config/bettercontroller.json and the changes apply within ~500 ms.
Default bindings
| Action |
Button |
| Movement |
Left stick |
| Look |
Right stick |
| Menu scroll |
Right stick Y |
| Jump |
A / Cross |
| Sprint |
L3 |
| Sneak |
R3 |
| Attack / mine |
RT |
| Use / place |
LT |
| Inventory |
Y / Triangle |
| Drop item |
B / Circle |
| Swap hands |
X / Square |
| Hotbar next / Pick block |
RB |
| Hotbar previous |
LB |
| Open chat |
D-pad up |
| Toggle perspective |
D-pad down |
| Pause |
Start |
| Player list |
Back / Select |
In menus: D-pad or left stick navigates, A confirms, B goes back, RB/LB switch tabs, RT/LT page, right stick scrolls.
Compatibility
- Minecraft: 1.21.11
- Loader: Fabric (Fabric Loader 0.18.4+)
- Java: 21
- Side: Client only — works on any vanilla or modded server.
- Requires: Fabric API
Installation
- Install Fabric Loader for Minecraft 1.21.11.
- Drop Fabric API into your
mods/ folder.
- Drop
bettercontroller-<version>.jar into your mods/ folder.
- Launch with a controller connected.
Configuration
In-game: open the pause menu (or Options → Controls) and click Controller Settings. Five sliders cover what you actually want to tune.
Everything else (key bindings, axis mappings, response curve, camera smoothing, repeat delays) lives in config/bettercontroller.json. Edits are picked up live.
Bindings accept aliases — A/CROSS/SOUTH, LB/L1, RT/R2, etc. — so any layout works.
Open-source
Source code, issue tracker and full changelog on GitHub: https://github.com/Nekuzaky/BetterController
Licensed MIT. Bug reports and feature requests welcome.