所以我遇到的问题似乎是仅在 Linux 上发生的错误。我试图让我的摇摆应用程序记录按下某个键的时间,然后检测该键何时被释放。现在这不应该成为问题,因为按键监听器应该为我处理这个问题。
问题是,当我按住按键时,我会收到大量重复的 keyPressed()/keyReleased() 事件,而不仅仅是单个 keypressed() 事件。有谁有解决方案或解决方法来了解密钥何时在 Linux 上真正发布?
谢谢。
所以我遇到的问题
似乎是一个仅发生的错误
在Linux上
是的,这是一个 Linux 问题。
在 Windows 上,当按住某个键时,您会收到多个 KeyPressed 事件,但只会收到一个 KeyReleased 事件。
这个问题经常被问到,但我从未见过一个好的解决方案。
但我认为解决方案的基础是使用计时器。当按下该键时,您将启动一个计时器。当您按下另一个键时,您将重新启动计时器。因此,只要定时器间隔大于键盘的重复率,按下某个键时定时器就会不断重置。当按键停止生成时,计时器将触发,因此您假设按键已被释放。这意味着您在处理 keyReleased 时将出现延迟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)