From 7cd1e7814ca734e3b556e88fa1e0f75deab72bd4 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Thu, 9 May 2024 20:14:35 -0700 Subject: [PATCH] steamosctl: Add HdmiCecState commands --- src/bin/steamosctl.rs | 15 +++++++++++++++ src/proxy.rs | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/src/bin/steamosctl.rs b/src/bin/steamosctl.rs index 8726729..4454901 100644 --- a/src/bin/steamosctl.rs +++ b/src/bin/steamosctl.rs @@ -99,6 +99,14 @@ enum Commands { GetWifiPowerManagementState {}, + GetHdmiCecState {}, + SetHdmiCecState { + // Set the state of HDMI-CEC support + // 0 - disabled, 1 - only controls, 2 - TV waking + #[arg(short, long)] + value: u32, + }, + UpdateBios {}, UpdateDock {}, TrimDevices {}, @@ -219,6 +227,13 @@ async fn main() -> Result<()> { let state = proxy.wifi_power_management_state().await?; println!("Wifi power management state: {state}"); } + Some(Commands::SetHdmiCecState { value }) => { + proxy.set_hdmi_cec_state(*value).await?; + } + Some(Commands::GetHdmiCecState {}) => { + let state = proxy.hdmi_cec_state().await?; + println!("HDMI-CEC state: {state}"); + } Some(Commands::UpdateBios {}) => { let _ = proxy.update_bios().await?; } diff --git a/src/proxy.rs b/src/proxy.rs index 4c1bb46..69f962d 100644 --- a/src/proxy.rs +++ b/src/proxy.rs @@ -113,6 +113,12 @@ trait Manager { fn wifi_power_management_state(&self) -> zbus::Result; #[zbus(property)] fn set_wifi_power_management_state(&self, value: u32) -> zbus::Result<()>; + + /// HdmiCecState property + #[zbus(property)] + fn hdmi_cec_state(&self) -> zbus::Result; + #[zbus(property)] + fn set_hdmi_cec_state(&self, value: u32) -> zbus::Result<()>; } #[proxy(