nsevent相关内容

检测 OS X 上的任何按键,包括修改键

我需要检测用户按下的所有键.使用 -keyDown: 我可以得到大多数按键(字母数字、功能键、箭头、空格键、escape、return),但是单独按下时我无法得到任何修饰键. 如何绝对检测到任何击键,包括修饰键? 解决方案 试试看: [NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask|NSFlagsChangedM ..
发布时间:2022-01-13 22:33:16 其他开发

添加带有NSEventMaskKeyDown掩码的全局监视器不会触发

我正在使用MacOS菜单栏应用程序,该应用程序需要跟踪一些全局快捷方式,以便于调整外部监视器的显示亮度.但是,我无法在任何与键盘相关的事件上触发处理程序(鼠标事件可以正常工作). 我正在使用以下代码检查可访问性 NSDictionary *options = @{CFBridgingRelease(kAXTrustedCheckOptionPrompt): @YES}; BOOL ac ..
发布时间:2021-02-15 18:40:45 其他开发

检测Ctrl + Return或Ctrl + Enter按下

在这件事上,我很难找到任何官方的东西. 我有一个TextView并覆盖keyDown事件,并尝试检测用户是否按下了 Ctrl + Enter . - (void)keyDown:(NSEvent *)theEvent { if([theEvent modifierFlags] & NSControlKeyMask && /* how to check if enter is p ..
发布时间:2020-07-01 20:58:34 移动开发

鼠标事件通过NSView流血

我有一个NSView涵盖了其父窗口的内容视图.该视图具有单击事件处理程序,该事件处理程序会将其从内容视图中删除.在此视图内,我有另一种视图.当我在此内部视图中拖动鼠标时,鼠标事件不仅会应用于前面的视图,还会应用于后面的视图.此外,后面视图中的光标也会显示出来.这是在这里发生的相同问题: NSView叠加层将鼠标事件传递到基础子视图?,但是那里的答案对我的项目不起作用,因为我无法打开另一个窗口. ..
发布时间:2020-07-01 20:58:30 其他开发

将NSEvent发送到后台应用

我需要将组合键^⌘C发送到具有包标识符com.company.app的后台应用程序.然后,组合键应在该应用程序中激活一个菜单项. 不幸的是,我不知道该怎么做.一些研究将我指向使用CGEventPostToPSN()的NSEvent和CGEvent API,但由于我不知道如何设置键组合,因此无法使其正常工作. CGEventPost()似乎与我创建的事件无关,即使所需的应用程序是活动的. ..
发布时间:2020-07-01 20:58:26 移动开发

如何在没有NSTextView的情况下从关键事件中捕获Unicode

我想从应用程序的任何窗口捕获关键事件,并将其解释为Unicode.例如,如果用户键入 Option-e-e (在默认配置的美国英语键盘上),我想将其识别为“é". 我尝试捕获按键事件并调用-[NSEvent characters].但是,如文档中所述,“此方法为空键返回空字符串,例如Option-e."如果我键入 Option-ee ,那么对于 Option-e 它没有任何帮助,而对于第二个 ..
发布时间:2020-07-01 20:58:20 其他开发

如何在没有窗口的情况下使用Swift在macOS上检测Caps Lock状态?

我尝试了KeyDown和NSEvent,但是它们需要NSWindow对象才能处于活动状态.我希望我可以将一个应用程序放在状态栏上,并在按下 CapsLock 时提醒用户,即使该用户在任何其他应用程序中也是如此.我的应用程序提示没有设置窗口或其他任何内容,仅是一个指标.甚至可以做到吗?我正在猜测AppDelegate,但无法弄清楚如何使其接收修饰符事件.任何帮助都非常感谢! 我一直在堆栈溢出中 ..
发布时间:2020-07-01 00:14:10 移动开发

鼠标单击相对于场景而不是窗口的位置

在我的游戏中,我需要使用鼠标来选择单位. 但是,我遇到了一些问题,因为我不知道如何获取相对于游戏而非窗口的点击坐标. 例如,如果单元1位于游戏的(0,0)点,则取决于我平移和缩放窗口的方式,它可能位于窗口的任何点,但是我希望鼠标单击返回( 0,0),无论我如何移动窗口,只要单击同一位置即可. 现在我正在使用: override func mouseDown(with eve ..
发布时间:2020-05-12 19:07:11 移动开发

mouseDown时禁用mouseEntered事件(NSEvents Mac)

我创建了一个NSButton类,当将鼠标悬停在按钮上时,它很高兴地检测到mouseEntered和mouseExited事件.但是,一旦发生mouseDown事件,只要将其按下,就不会再调用mouseEntered事件,直到抬起鼠标按钮为止. 因此,当调用mouseDown事件时,将鼠标悬停在其他按钮上直到我放开最初的mouseDown时,将不再调用mouseEntered或MouseExi ..
发布时间:2020-05-12 19:06:25 移动开发

macOS App:处理绑定到全局键盘快捷键的组合键

在某些应用中,让应用直接处理键盘快捷键是有意义的,否则这些快捷键会绑定到系统范围的组合中.例如,⌘-Space(通常为Spotlight)或⌘-Tab(通常为应用程序切换器).这适用于各种Mac应用程序,例如VMWare Fusion,Apple自己的屏幕共享和远程桌面客户端(分别将事件转发到VM或服务器,而不是在本地处理事件),以及App中的一些类似第三方应用程序商店. 我们想在我们正在开 ..
发布时间:2020-04-26 08:31:22 其他开发