SC Controller

If anyone wants to snap SC Controller, one can continue from here.


  1. Works in devmode, manually connect raw-usb and bluetooth interfaces
  2. Indicator icon not visible (image not found)
  3. steam-devices package used for udev rules (workaround for snaps not supporting setting udev rules)
  4. Current stable releases require python 2.7, it is being rewritten to C
1 Like

I hadn’t realised someone else had started working on this. My snap doesn’t use the current work-in-progress C code; it uses the last release of the pure python2 package. It still needs some autoconnections (and a tweak of snapd) to be functional. Would be good to merge these efforts.

Worked on it long time ago. Stopped because I realized it will never work in snaps confinement. Lost interest and started writing my own driver. You are almost done. Wait for the new interface, add steam-devices to stage packages, request auto-connections and that’s it.

The steam-devices idea isn’t going to work, sadly, as it looks as if there’d need to be a huge hole poked in the confinement model for udev rules to be applied. If I can get permission for raw-usb and the new uinput interface it’ll be the best I can do. I hadn’t considered Bluetooth, though. Might have to add that but don’t have any way to test.

I can test that for you when it’s a little easier to install. Or if you ask anybody else show them this list to switch connection mode on Steam Controller.

Buttons Mode
Chord Connect using most recent mode and connection
Start + Chord Switch to second Bluetooth connection (max 2 available)
Select + Chord Switch to next receiver connection (multiple available)
A + Chord Switch to receiver mode
B + Chord Switch to Bluetooth mode
X + Chord Receiver pairing mode
Y + Chord Bluetooth pairing mode
1 Like