可可/碳:当按下按键时按住全局热键(按住)

时间:2011-02-18 20:48:38

标签: cocoa events hotkeys pressed

使用Carbon框架中的InstallApplicationEventHandlerRegisterEventHotKey,我能够抓住我想要的任何密钥。

相反,当按下一个键(保持按下)时,我找不到正确处理事件的方法。我的意思是,当我按下一个键时,RegisterEventHotKey会响应,就像我按下然后释放键一样;相反,我想要它继续发送“事件”,直到密钥被释放。

我真正想要实现的目标,确切地说,当按下一个键是这样的:

按下并按住键后,我希望InstallApplicationEventHandlerRegisterEventHotKey创建一个事件但不仅一次(就像我现在一样)但是每隔x毫秒左右才能创建一个事件,直到密钥为止释放。

我正在考虑的特定键是不是修饰键。

你能帮帮我吗?我真的对此疯狂了!

2 个答案:

答案 0 :(得分:1)

您需要使用事件点按; RegisterEventHotKey不够灵活,无法做到你想要的。查看Event Taps Testbenchdocumentation

答案 1 :(得分:0)

可能每0.25秒启动一次计时器或检查相应键是否仍然关闭的东西。如果是,请重新调用该操作。否则,使计时器无效。