如何使用 Love2d (LÖVE) 或 Lua 防止命令键的默认 OS 行为

是否有一种方法可以防止使用 Love2d (LÖVE) 或者 Lua 更普遍的方式防止命令键的默认 OS 行为(例如,当按下 Windows 键时防止启动菜单的打开和焦点丢失)?如果我理解正确,LÖVE 使用 LuaJIT,因此,如果基于 Lua 的方法不涉及 Lua 5.2/5.3 函数(这些函数尚未在 LuaJIT 中实现),这将非常有帮助,但如果需要的话,我可以重建具有适当模块的 LÖVE 解释器或构建 shim。

我试图自己找到简单的解决方案,但是没有成功。我目前正在考虑创建一个 Lua-C 模块。如果事实如此,请提供任何建议/链接,将不胜感激。谢谢!

点赞
用户734069
用户734069

Lua 肯定 没有劫持此类 OS 按键功能的功能。这些东西对于 Lua 来说太过于特定于操作系统而无法公开。根据其文档,Love2D 也没有这样的功能。

既然我们谈到了这个话题:

防止启动菜单在按下 Windows 键时打开并失去焦点

如果您的应用程序阻止基本的 OS 功能如此运作将是 极其粗鲁 的。无论您的游戏有多好,它都不如用户能够做他们真正想做的重要。如果用户想要切换到其他内容,那是他们的权利,您不应该干涉。如果用户不小心按下了那个按钮,那是他们的责任。

您唯一需要做的是设置 一个love.focus回调,这样当应用程序失去焦点时,您可以自动暂停。

2017-01-02 15:20:31