2011-02-18 164 views
0

使用碳框架中的InstallApplicationEventHandlerRegisterEventHotKey,我可以捕捉任何我想要的鍵。可可/碳:當按住鍵時抓住全局熱鍵(按住)

相反,我無法找到一種方法來正確處理事件,當一個按鍵被按下(保持按下)。我的意思是,當我按下一個鍵時,RegisterEventHotKey響應,如果我按下然後釋放了鍵;我希望它不斷髮送「事件」,直到密鑰被釋放。

我真正想實現的,準確地說,當保持按壓鍵是這樣的:

只要鍵被按下並按住我想要那個InstallApplicationEventHandlerRegisterEventHotKey創建一個事件,但不是唯一一次(正如我現在),但每過x毫秒左右,直到鑰匙被釋放。

我正在考慮的特定鍵是而不是修飾鍵。

你能幫我嗎?我真的變得瘋了!

回答

0

也許開始每0.25秒啓動一個計時器或者檢查是否合適的鍵仍然關閉。如果是,則重新調用該操作。否則,使計時器無效。

+0

非常感謝你,它的作品是這樣的! – Andrea3000 2011-02-19 10:25:49

1

您需要使用事件點擊; RegisterEventHotKey不夠靈活,無法做到您想要的。檢查出Event Taps Testbenchdocumentation

+0

或者,在Mac OS X 10.6及更高版本中,使用基於塊的等效項。 http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSEvent_Class/Reference/Reference.html#//apple_ref/occ/clm/NSEvent/addLocalMonitorForEventsMatchingMask:handler:http:// developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSEvent_Class/Reference/Reference.html#//apple_ref/occ/clm/NSEvent/addGlobalMonitorForEventsMatchingMask:handler: – 2011-02-19 06:15:34