Giter Club home page Giter Club logo

steam-deck.auto-disable-steam-controller's Introduction

Steam-Deck.Auto-Disable-Steam-Controller

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.

WORK IN PROGRESS!

This will probably have bugs, so beware! log bugs under issues!

Video Guide

https://youtu.be/0sACNVwWXw4

About

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 Works With

Currently this script works with the following Bluetooth Controllers by default:

  • Playstation 4 Controllers (Identified as Wireless Controller)
  • Playstation 5 Controllers (Identified as Wireless Controller)
  • Xbox One S/X Controllers (Identified as Xbox 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 as Microsoft X-Box 360 pad)
  • Wireless XBox 360 Controllers (Via Dongle) (Identified as Xbox 360 Wireless Receiver)
  • And More! (see list below)

Manually adding more Devices

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)

Automatically adding more Devices

Not Yet Implemented!

Installation

Via Curl (One Line Install)

In Konsole type curl -sSL https://raw.githubusercontent.com/scawp/Steam-Deck.Auto-Disable-Steam-Controller/main/curl_install.sh | bash

a sudo password is required (run passwd if required first)

How to Temporarily Disable

touch /home/deck/.local/share/scawp/SDADSC/conf/disabled

to re-enable rm /home/deck/.local/share/scawp/SDADSC/conf/disabled

Uninstallation

To write

"This is cool! How can I thank you?"

Why not drop me a sub over on my youtube channel ;) Chinballs Gaming

steam-deck.auto-disable-steam-controller's People

Contributors

scawp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.