小编Fel*_*ond的帖子

如何在Swift OS X应用程序中为压力事件正确添加全局NSEvent监听器?

我是OS X编程的新手,我正在尝试编写一个能够在系统范围内捕获Force Click事件的应用程序.

基于各种来源,我写下了下面列出的代码:

var lastClickStage = -1

func checkAssistanceSettings () -> Bool {
    let checkOptPrompt = kAXTrustedCheckOptionPrompt.takeUnretainedValue() as NSString
    let options = [checkOptPrompt: true]
    let accessEnabled = AXIsProcessTrustedWithOptions(options)

    return accessEnabled == 1
}

func processForceClick(incomingEvent: NSEvent!) -> Void {
    let clickStage = incomingEvent.stage

    if clickStage == lastClickStage {
        return
    }

    if (lastClickStage == 2 && clickStage != 2) {
        lastClickStage = clickStage
        return
    }

    if (clickStage == 2 && lastClickStage != 2) {
        let applicationClicked = NSWorkspace.sharedWorkspace().frontmostApplication?.bundleIdentifier
        if (applicationClicked …
Run Code Online (Sandbox Code Playgroud)

macos cocoa nsevent swift

7
推荐指数
0
解决办法
1207
查看次数

标签 统计

cocoa ×1

macos ×1

nsevent ×1

swift ×1