gpt4 book ai didi

objective-c - 使用 NSEvent 在 OS X 上捕获其他鼠标按钮事件

转载 作者:行者123 更新时间:2023-12-03 17:50:11 25 4
gpt4 key购买 nike

我正在 try catch OS X Yosemite 上的鼠标点击。

根据我的阅读,这段代码应该可以工作:

[NSEvent addGlobalMonitorForEventsMatchingMask:NSOtherMouseDown
handler:^(NSEvent *event) {
NSLog(@"Mouse Down, Button: %ld", event.buttonNumber);
}];

但是,它仅适用于鼠标右键上的事件,不适用于其他按钮(即多按钮鼠标上的按钮 4、5、6 等)。

使用 Quartz 事件点击,我能够检测鼠标对这些按钮的点击,如下所示:

CGEventTapCreate(kCGSessionEventTap,
kCGHeadInsertEventTap,
0,
CGEventMaskBit(kCGEventOtherMouseUp) | CGEventMaskBit(kCGEventOtherMouseDown),
MouseEventCallback,
NULL);

但我更喜欢使用 NSEvent API,因为它更简单。

关于如何使用 NSEvent 捕获其他鼠标按钮事件有什么想法吗?

最佳答案

这可能只是您问题中的拼写错误?,但是您的代码缺少 NSEventMaskFromType,例如:

[NSEvent addGlobalMonitorForEventsMatchingMask:NSEventMaskFromType(NSOtherMouseDown) ..
^^^^^^^^^^^^^^^^^^^

关于objective-c - 使用 NSEvent 在 OS X 上捕获其他鼠标按钮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28916732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com