我有一个需要对“长按键”做出反应的界面。这意味着根据键按下的时间长短,对同一键执行 2 种不同的操作:
按左光标:动作 A
按住左光标:动作 B
好吧,事实证明我想的更难。主要问题是,如果您按住键,Keyboard.KEY-DOWN 和 Keyboard.KEY-UP 都会连续触发。这对我来说看起来很奇怪,尽管如果您考虑输入文本可能会有意义(如果您正在输入文本并按住一个键,它会开始填充空间)。
当我试图解决这个问题时,我想在 KEY-DOWN 上启动一个计数器并在 KEY-UP 上重置它。然后,如果它达到某个阈值,则触发一个事件。问题是计数器立即重置,因为它们 KEY-UP 事件一直在触发。
我知道诸如BigRoom和Senocular之类的键盘轮询类,但它们并没有解决问题,因为它们的状态基于相同的事件。
我可以让定时器在 KEY-DOWN 上启动一个定时器,并在 x 毫秒后检查键是否仍然处于关闭状态,但这会假设该键一直处于关闭状态。我不认为这会是可靠的。
这就是我开始没有想法的地方。我忽略了一个更简单的方法吗?我希望有!
谢谢,
胡安