【发布时间】:2011-02-14 18:52:24
【问题描述】:
每当我运行此 Python CGEventTap 代码时都会出现总线错误:
def callback(ent):
loc = CGEventGetLocation(ent)
print loc
tap = CGEventTapCreate(
kCGSessionEventTap,
kCGHeadInsertEventTap,
kCGEventTapOptionDefault,
CGEventMaskBit(kCGEventMouseMoved),
callback(CGEventRef) )
loop = CFMachPortCreateRunLoopSource(None, tap, 0)
CFRunLoopAddSource(CFRunLoopGetCurrent(), loop, kCFRunLoopCommonModes)
RunApplicationEventLoop()
我有什么明显的遗漏吗?
【问题讨论】:
-
您是否链接反对 ApplicationServices 框架(即,不只是
importing 它)? -
@josh 我已经尝试了以下所有方法:导入 objc,从 Foundation 导入 *,从 PyObjCTools 导入 AppHelper,从 Quartz 导入 *,从 AppKit 导入 *。我需要哪些不需要哪些? 链接是什么意思?
-
一个重要注意是你的回调需要返回
ent,否则你的程序不会将输入事件转发给下一个处理程序,你会锁定你的系统起来!
标签: python objective-c events macos pyobjc