我刚刚安装水坑启动时会自动全屏显示。启动后,增加/减少音量的键盘快捷键(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 游戏添加到你的库中以达到同样的效果。