首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift中使用带参数的CGEventTapCreate故障

在Swift中使用带参数的CGEventTapCreate故障
EN

Stack Overflow用户
提问于 2014-10-31 11:13:28
回答 1查看 849关注 0票数 2

我试图用CGEventTapCreate等在Swift中捕捉按键。我想这样做,以便当我的孩子正在使用一个程序,Mac,我可以限制哪些键做某事。我理解我需要启用辅助技术来使CGEventTap工作。

我很难理解我需要在Swift中做什么来获得调用中的最终参数。本质上,我不理解石英事件文档的部分文档。

所描述的最后一个参数。

refcon:指向用户定义数据的指针.此指针被传递到回调参数中指定的回调函数中。

下面是我的代码,缺少了调用中的最后一个参数

代码语言:javascript
复制
@IBAction func interceptKeyboard(sender: NSButton) {


    CGEventTapCreate(kCGSessionEventTap, kCGHeadInsertEventTap, kCGEventTapOptionDefault, CGEventMask((kCGEventKeyDown) | (kCGEventKeyUp)), MyCallBack: kCGHIDEventTap, )

}

func MyCallBack(myLocation:CGEventTapLocation) -> Void{
    //do Nowt
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-06 10:20:20

不久前,我认为当您查看CGEventTapCallback的类型时,您会发现它是一个CFunctionPointer:

代码语言:javascript
复制
typealias CGEventTapCallBack = CFunctionPointer<((CGEventTapProxy, 
CGEventType, CGEvent!, UnsafeMutablePointer<Void>) -> Unmanaged<CGEvent>!)>

目前您不能在Swift中创建这些函数,所以您必须使用objective,在那里创建一个函数,然后在Swift中调用一个等价的函数,请参见以下内容:

CFunctionPointer到Swift闭包的Objective包装

最后我把所有的东西都写在了目标-C.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26673329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档