我有一个 Steam Link,但在某些 FPS 游戏中输入延迟很烦人,所以我买了一根 HDMI 线将我的电脑与电视连接起来。当我坐在电视机前时,我想打开 SC 并在电视上启动大画面。我的电脑显示器和电视的分辨率不同,因此我不想让电视屏幕一直镜像。
因此,我正在寻找一种打开电视显示器的方法(可能是通过 xrandr bash 脚本)。我现在的问题是:
如何在 Steam 控制器按钮开启时触发脚本?
我在 Google 上没有找到任何东西,也不知道从哪里开始搜索。这是否可以通过 udev 规则实现?
奖励:当在电视上选择另一个频道/输入时,HDMI 是否可以额外请求电视的焦点?
答案1
我最终使用了这个 Python 独立 Steam 控制器驱动程序:https://github.com/ynsta/steamcontroller
有一些关于如何获取按钮事件和设置回调的示例脚本。我只是为主页按钮设置了一个回调并从那里启动 steam。唯一的问题是,您无法在 steam 运行时运行该脚本,因为独立驱动程序将捕获所有控制器事件,但我希望 steam 控制控制器(只需启动 steam 并关闭脚本)。
所以我有:
- main.py:控制所有脚本,等待 button_callback.py 结果,然后启动 start_steam.py,退出时重新启动 button_callback.py
- button_callback.py:等待按下主页按钮,然后退出
- start_steam.py:通过 xrandr 激活电视,通过 pacmd 将音频接收器切换到 hdmi,等待 steam 关闭,停用电视,恢复音频