mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-13 03:51:10 +00:00
Steam's native QAM sliders now control Android brightness and media volume, with device changes reflected back in Steam. Holding Android Back for 700 ms sends a real held QAM button for Steam shortcuts. Single and double taps keep the existing menu/QAM order and swap setting; the double-tap window remains 500 ms. - Discover native brightness through a guest backlight descriptor and use Android's Modify system settings permission. Retain the latest pending request until permission is granted or the session stops, with a notification action for hidden sessions. - Give DirectAudio and fallback AAudio sinks Android media volume/mute callbacks, keeping software gain at unity. Recover when initial volume state is absent or invalid, brightness acknowledgements differ or never arrive, or the Display bridge is not ready yet. - Forward other buttons while QAM is held in Steam Deck and Steam Controller modes. Consume release after a hold and clear pending input on overlays, focus loss, pause, disconnect, and teardown. The session menu retains its compact Back choice without an explanatory paragraph. Validation: - Local ARM64 release build passed. The latest timing change passed 20 targeted input tests, including release at 600 ms remaining a tap. The preceding full feature check passed 61 Android input/device-control tests, with permission cases on API 28 and 33. - 66 Linux Python/Node/C tests passed for device controls, audio recovery, Steam compatibility, and file dialogs. Both audio sink modules rebuilt with Android NDK 27.2. - Release-signed integration build 14d12cf0 is installed on the unrooted AYN Thor, carrying the Android/input changes through749ade4aplus the existing portrait changes. Device checks confirmed the configured QAM/menu tap order, Back dismissal, removal of the inline menu description, and held QAM overlapping X with clean release. Hands-on testing confirmed this installed build works. - Earlier Thor testing covered brightness permission and pending requests, brightness synchronization in both directions, native volume changes, hardware volume key readback, and both sink backends. Failure recovery is covered by the automated tests above. The subsequent queued-notification fix in4d7ceb23is covered by the Linux regression suite and has not replaced the Thor install. Bluetooth/wired output switching and other device models remain untested. CI and CodeRabbit monitoring continue against the pushed head.