簡體   English   中英

OSX:激活任務控制后監視事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM