[英]OSX: Monitoring Event when Mission Control is activated
我試圖通過附加全局事件偵聽器來監聽Mouse Event和Keyboard Event,如本大線程中所述 。
但是,調用Mission Control時,似乎阻止了我的聽眾。 我非常感謝關於如何解決此問題的任何建議。
我可以通過使用事件抽頭來解決這個問題,這些事件可以在Carbon Quartz事件服務庫中找到 。
Objective-C示例代碼 (我無法在Swift中運行):
假設您已經定義了一個C函數
CGEventRef yourCallbackFunction(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *userinfo);
然后,您可以使用此代碼來監聽事件SomeEventHere
:
CFMachPortRef ref = CGEventTapCreate(kCGHIDEventTap,
kCGHeadInsertEventTap,
kCGEventTapOptionListenOnly,
CGEventMaskBit(kCGEventSomeEventHere),
(CGEventTapCallBack)yourCallbackFunction,
userinfo);
CFRunLoopSourceRef src = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, ref, 0);
CFRunLoopAddSource(CFRunLoopGetMain(), src, kCFRunLoopDefaultMode);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.