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)