Fixes from the 3.0.0 testing round. Thanks to @zomars, @jwhitlow45 and @paulverbeke for the reports.
Interface
- the device row now refreshes once the connect or disconnect really finishes, instead of straight away
- a spinner and a
Connecting/Disconnectinglabel while the call runs - a failed connect says so on the row instead of silently reverting to
Not connected - the primary button reads
Connect/Disconnectinstead ofSelect - rows no longer offer a connect while the Bluetooth radio is off
- the battery level appears right after a connect, with no manual refresh
- battery level for DualShock and DualSense controllers, read from the kernel when BlueZ reports none
- a message when no device is paired, and a different one when the backend cannot be reached
- labels reuse Steam's own localized strings where they exist
Backend
- D-Bus error replies are detected and logged instead of being read as data. This is what made the battery read as
o, and it could leave the Bluetooth toggle stuck on - adapter and device object paths are discovered through
GetManagedObjects(), so the plugin no longer assumeshci0 - one D-Bus connection for the plugin's lifetime instead of one per call, dropped cleanly on unload
Installation:
- remove
/home/deck/homebrew/plugins/Bluetoothif it exists- Uninstall the plugin via decky interface
- OR
sudo rm -rf /home/deck/homebrew/plugins/Bluetooth
- download
Bluetooth-v3.1.0.zipto/home/deck/homebrew/pluginsand extract itcd /home/deck/homebrew/pluginsunzip Bluetooth-v3.1.0.zip