#hdmi #cec #libcec #dpms

app cec-dpms

使用 HDMI CEC 模拟 DPMS 功能来开启/关闭电视的简单程序

2 个版本

0.1.1 2022年2月22日
0.1.0 2022年2月21日

#5 in #cec

GPL-2.0 许可证

15KB
106

🔘 cec-dpms

描述

这是一个小的 Linux 工具,旨在使用 HDMI-CEC 接口来模拟 DPMS。它通过 libcec 库和 cec-rs 来使用。这样,它允许模拟 DPMS,但对于连接到 CEC 总线的电视,结果电视表现得像常规显示器。然而,用户必须运行自己的脚本来控制它。

用法

cec-dpms 0.1.0
Simple program to power on/off TV by simulating DPMS feature using HDMI CEC

USAGE:
    cec-dpms [OPTIONS]

OPTIONS:
    -d, --debug            Enable debug info
    -h, --help             Print help information
    -i, --input <INPUT>    input device path/name of CEC device
    -V, --version          Print version information

该程序设计为在后台持续运行(例如,从 systemd 服务启动)。
它监听 USR1USR2 信号

  • USR1 是打开电视
  • USR2 是关闭电视

示例

使用此工具与 Sway 的示例
在 sway 配置文件中配置 swayidle 如下

exec swayidle \
    timeout 600 'swaymsg "output * dpms off"' \
       resume 'swaymsg "output * dpms on"' \
    timeout 600 'sudo pkill -USR2 cec-dpms' \
       resume 'sudo pkill -USR1 cec-dpms'

systemd 集成

这里有 systemd 的示例服务文件
systemd/cec-dpms.service
您需要根据需要调整它(例如,检查二进制路径)。
将单元文件放置在正确的位置并重新加载 systemd 后,可以像往常一样启动单元
systemctl start cec-dpms.服务

依赖关系

~10–18MB
~185K SLoC