【问题标题】:OSX: Monitoring Event when Mission Control is activatedOSX:激活任务控制时的监控事件
【发布时间】:2014-01-04 19:38:19
【问题描述】:

我正在尝试通过附加全局事件侦听器来侦听鼠标事件和键盘事件,如 this great thread 中所述。

但是,当调用 Mission Control 时,它似乎阻止了我的听众。我非常感谢有关如何解决此问题的任何建议。

【问题讨论】:

    标签: macos events mouseevent mission-control


    【解决方案1】:

    我可以通过使用 Carbon Quartz Event Services Library 中提供的事件点击来解决这个问题。

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-26
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多