防止全屏游戏禁用音量控制键

防止全屏游戏禁用音量控制键

我刚刚安装水坑启动时会自动全屏显示。启动后,增加/减少音量的键盘快捷键(Fn+F5 和 Fn+F6)立即失效。(我似乎记得其他游戏也发生过同样的情况。)有没有办法让这些键在游戏运行时继续起作用?

答案1

我不知道有什么简单的方法可以做到这一点,因为根本问题是 Linux 中的全屏处理根本就有问题。本质上,应用程序(在大多数情况下是 SDL)独占您的键盘,不允许其他人使用它。

然而,有一些不太好的解决方法:

该存储库中的工具sdl-hack允许您通过 LD_PRELOAD 黑客强制 SDL 应用程序进入窗口模式,以防它们自己没有该模式的开关。

另一方面windowtool.py,您可以通过删除窗口装饰、将窗口设置为keep-above以及定位窗口来操纵窗口并将其强制为非键盘抓取全屏窗口。常见用法如下:

sleep 1 && windowtool.py -a 1 -d 0  -m 0,0 ACTIVE

但是,您仍然需要手动xrandr更改分辨率。因此,这并不是一个易于使用或易于自动化的解决方案。但它确实能为您提供所需的结果,至少对于 SDL 应用程序而言。

附言:该存储库中的文档已经过时了,对此深表抱歉。

答案2

我实际上找到了一个非常简单的解决方案:只需按下 Shift-Tab 键,即可打开游戏中的 Steam 覆盖。从那里,您可以调整音量,然后再次按下 Shift-Tab 键返回游戏。当然,这仅适用于 Steam 游戏,但您可能能够将非 Steam 游戏添加到你的库中以达到同样的效果。

相关内容