Script to Automatically disable the built in Steam Controller when an External Controller (or Mouse or Keyboard) is connected and then enable once they are disconnected.
This will probably have bugs, so beware! log bugs under issues!
When using External Controllers with the Steam Deck, sometimes the build in Steam Controller gets in the way by either not allowing the use of an External Controller at all, Having to Reassign Controller in the config each time you play a game, or interfering with Multiplayer games. This script simply listens to udev
for when an External Controller is connected (either by Bluetooth or USB) then disables the Built in Steam Controller so that the (first) External Controller Defaults to Player One.
The Built in Steam Controller will be disabled until all External Controllers are disconnected.
Currently this script works with the following Bluetooth Controllers by default:
Playstation 4 Controllers
(Identified asWireless Controller
)Playstation 5 Controllers
(Identified asWireless Controller
)Xbox One S/X Controllers
(Identified asXbox Wireless Controller
)8BitDo SN30 gamepad
- And More! (see list below)
The script also works with the following USB Controllers by default:
Wired XBox 360 Controllers
(Identified asMicrosoft X-Box 360 pad
)Wireless XBox 360 Controllers (Via Dongle)
(Identified asXbox 360 Wireless Receiver
)- And More! (see list below)
To add more Bluetooth devices run bluetoothctl devices
and add the name to simple_device_list.txt
in /home/deck/.local/share/scawp/SDADSC/
To add more USB devices run lsusb
and add the name to simple_device_list.txt
Default simple_device_list.txt
Xbox Wireless Controller
Brook XOne Adapter
Wireless Controller
8BitDo SN30 gamepad
8Bitdo SF30 gamepad
8Bitdo FC30 GamePad
8Bitdo FC30 II
8Bitdo NES30 GamePad
8Bitdo SFC30 GamePad
8Bitdo SNES30 GamePad
8Bitdo FC30 Pro
8Bitdo NES30 Pro
8Bitdo SF30 Pro
8Bitdo SN30 Pro
8Bitdo Joy
8Bitdo NES30 Arcade
8Bitdo Zero GamePad
8Bitdo N64 GamePad
Pro Controller
Nintendo RVL-CNT-01-UC
Xbox 360 Wireless Receiver
Microsoft X-Box 360 pad
Mad Catz,Inc. PS3 RF pad
#ROCCAT ROCCAT Arvo
#MOSART Semi. 2.4G Wireless Mouse
Rows starting with #
are ignored (for example my keyboard and mouse)
Not Yet Implemented!
In Konsole type curl -sSL https://raw.githubusercontent.com/draksler/Steam-Deck.Auto-Disable-Steam-Controller/main/curl_install.sh | bash
a sudo
password is required (run passwd
if required first)
touch /home/deck/.local/share/scawp/SDADSC/conf/disabled
to re-enable rm /home/deck/.local/share/scawp/SDADSC/conf/disabled
Run the following codes:
sudo rm -r /home/deck/.local/share/scawp/SDADSC
#To delete the code
sudo rm -r /etc/udev/rules.d/99-disable-steam-input.rules
#To delete the rule
sudo udevadm control --reload
#To reload the service
You may need to reboot if you ran these lines when a bluetooth controller was connected.