Skip to content

About

Easily switch between Steam Deck's internal controller and external controllers. Perfect for docked gaming and multiplayer.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Steam Deck Controller Switcher

Easily disable/enable the Steam Deck's internal controller when using external controllers.

Quick Install

Open Konsole in Desktop Mode and run:

curl -sSL https://raw.githubusercontent.com/farmstrong8/steamdeck-controller-switcher/main/install.sh | bash

That's it! Desktop shortcuts will appear automatically.

Desktop shortcuts example

What It Does

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.

Usage

Desktop Shortcuts (Easy)

  1. Double-click "Disable Deck Controller" when using external controllers
  2. Double-click "Enable Deck Controller" when you're done

Command Line

deck-controller-toggle.sh disable  # Disable internal controller
deck-controller-toggle.sh enable   # Enable internal controller

Safety

✅ 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

Uninstall

curl -sSL https://raw.githubusercontent.com/farmstrong8/steamdeck-controller-switcher/main/uninstall.sh | bash

Manual Installation

If you prefer not to use the curl installer:

  1. Download the repository
  2. Run chmod +x install.sh && ./install.sh

How It Works

Uses USB device authorization to safely disable/enable the Steam Deck's internal controller without permanent system changes.

Requirements

  • Steam Deck (any model)
  • SteamOS
  • Desktop Mode access
  • Sudo password set (run passwd if needed)

Troubleshooting

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

License

MIT License - See LICENSE file

Contributing

Pull requests welcome! Please test on real hardware.

About

Easily switch between Steam Deck's internal controller and external controllers. Perfect for docked gaming and multiplayer.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages