Easily disable/enable the Steam Deck's internal controller when using external controllers.
Open Konsole in Desktop Mode and run:
curl -sSL https://raw.githubusercontent.com/farmstrong8/steamdeck-controller-switcher/main/install.sh | bashThat's it! Desktop shortcuts will appear automatically.
When using external controllers (Xbox, PlayStation, Switch Pro, etc.) with the Steam Deck in docked mode, some games detect both controllers, causing issues like:
- The Deck being registered as "Player 2"
- Input conflicts in multiplayer games
- Wrong controller priority
This tool lets you temporarily disable the internal controller with one click.
- Double-click "Disable Deck Controller" when using external controllers
- Double-click "Enable Deck Controller" when you're done
deck-controller-toggle.sh disable # Disable internal controller
deck-controller-toggle.sh enable # Enable internal controller✅ Safe to use - Reboot always restores the controller (no startup scripts)
✅ No permanent changes - Everything resets on restart
✅ Can't brick your Deck - Touchscreen always works
curl -sSL https://raw.githubusercontent.com/farmstrong8/steamdeck-controller-switcher/main/uninstall.sh | bashIf you prefer not to use the curl installer:
- Download the repository
- Run
chmod +x install.sh && ./install.sh
Uses USB device authorization to safely disable/enable the Steam Deck's internal controller without permanent system changes.
- Steam Deck (any model)
- SteamOS
- Desktop Mode access
- Sudo password set (run
passwdif needed)
Q: Lost all input?
A: Simply reboot - the controller auto-restores
Q: Shortcuts not working?
A: Check you've set a sudo password with passwd
Q: Controller still detected?
A: Check log file: cat ~/.deck-controller-toggle.log
MIT License - See LICENSE file
Pull requests welcome! Please test on real hardware.
