nsevent相关内容
我需要检测用户按下的所有键.使用 -keyDown: 我可以得到大多数按键(字母数字、功能键、箭头、空格键、escape、return),但是单独按下时我无法得到任何修饰键. 如何绝对检测到任何击键,包括修饰键? 解决方案 试试看: [NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask|NSFlagsChangedM
..
我正在尝试创建一个用于辅助技术目的的 OS X 键盘挂钩(即别担心,不是键盘记录器). 当用户按下某个键时,我想阻止真正的按键,并发送一个假按键(我选择的字符). 我有以下代码: - (void) hookTheKeyboard {CGEventMask keyboardMask = CGEventMaskBit(kCGEventKeyDown);id eventHandler =
..
当OS X用户在OS X中(不仅是在我的应用程序中)拖动任何文件时,我都试图收到通知. 我当前的方法是在 NSEvent 上使用 addGlobalMonitorForEventsMatchingMask:handler:,如下所示: [NSEvent addGlobalMonitorForEventsMatchingMask:NSLeftMouseDraggedMask处理程序:^(N
..
我一直在尝试(从事件处理程序中)确定哪个键盘触发了该事件.我一直在使用这两篇文章: http://www.cocoabuilder.com/archive/cocoa/229902-which-keyboard-barcode-scanner-did-the-event-come-from.html http://www.cocoabuilder.com/archive/cocoa/2
..
选中“轻按以单击"时,如何从触控板单击(按下)或单击来判断NSEvent. -(void)mouseEvent:(NSEvent *)theEvent {if(((type == NSLeftMouseUp || type == NSLeftMouseDown)&& [theEvent子类型] == NSEventSubtypeTouch){//如何检测触摸板是否被真正按下?不要轻按一下}}
..
我正在使用MacOS菜单栏应用程序,该应用程序需要跟踪一些全局快捷方式,以便于调整外部监视器的显示亮度.但是,我无法在任何与键盘相关的事件上触发处理程序(鼠标事件可以正常工作). 我正在使用以下代码检查可访问性 NSDictionary *options = @{CFBridgingRelease(kAXTrustedCheckOptionPrompt): @YES}; BOOL ac
..
我正在尝试将一个NSRunningApplication*实例放到前台,并注入一个键盘事件. NSRunningApplication* app = ...; [app activateWithOptions: 0]; inject_keystrokes(); ...无法注入键盘事件,但是: NSRunningApplication* app = ...; [app activat
..
在这件事上,我很难找到任何官方的东西. 我有一个TextView并覆盖keyDown事件,并尝试检测用户是否按下了 Ctrl + Enter . - (void)keyDown:(NSEvent *)theEvent { if([theEvent modifierFlags] & NSControlKeyMask && /* how to check if enter is p
..
我有一个NSView涵盖了其父窗口的内容视图.该视图具有单击事件处理程序,该事件处理程序会将其从内容视图中删除.在此视图内,我有另一种视图.当我在此内部视图中拖动鼠标时,鼠标事件不仅会应用于前面的视图,还会应用于后面的视图.此外,后面视图中的光标也会显示出来.这是在这里发生的相同问题: NSView叠加层将鼠标事件传递到基础子视图?,但是那里的答案对我的项目不起作用,因为我无法打开另一个窗口.
..
我需要将组合键^⌘C发送到具有包标识符com.company.app的后台应用程序.然后,组合键应在该应用程序中激活一个菜单项. 不幸的是,我不知道该怎么做.一些研究将我指向使用CGEventPostToPSN()的NSEvent和CGEvent API,但由于我不知道如何设置键组合,因此无法使其正常工作. CGEventPost()似乎与我创建的事件无关,即使所需的应用程序是活动的.
..
我想截取以 Control + Shift 开头并以字符(强制性)结尾的热键. 我有以下代码: [NSEvent addGlobalMonitorForEventsMatchingMask:NSFlagsChangedMask handler: ^(NSEvent *event) { NSUInteger flags = [event modifierFlags] & NSDevi
..
我想从应用程序的任何窗口捕获关键事件,并将其解释为Unicode.例如,如果用户键入 Option-e-e (在默认配置的美国英语键盘上),我想将其识别为“é". 我尝试捕获按键事件并调用-[NSEvent characters].但是,如文档中所述,“此方法为空键返回空字符串,例如Option-e."如果我键入 Option-ee ,那么对于 Option-e 它没有任何帮助,而对于第二个
..
我正在构建一个状态栏应用程序,并希望根据用户单击左还是右来调用不同的操作.这是我到目前为止的内容: var statusItem = NSStatusBar.system().statusItem(withLength: -1) statusItem.action = #selector(AppDelegate.doSomeAction(sender:)) let leftClick =
..
我尝试了KeyDown和NSEvent,但是它们需要NSWindow对象才能处于活动状态.我希望我可以将一个应用程序放在状态栏上,并在按下 CapsLock 时提醒用户,即使该用户在任何其他应用程序中也是如此.我的应用程序提示没有设置窗口或其他任何内容,仅是一个指标.甚至可以做到吗?我正在猜测AppDelegate,但无法弄清楚如何使其接收修饰符事件.任何帮助都非常感谢! 我一直在堆栈溢出中
..
在我的游戏中,我需要使用鼠标来选择单位. 但是,我遇到了一些问题,因为我不知道如何获取相对于游戏而非窗口的点击坐标. 例如,如果单元1位于游戏的(0,0)点,则取决于我平移和缩放窗口的方式,它可能位于窗口的任何点,但是我希望鼠标单击返回( 0,0),无论我如何移动窗口,只要单击同一位置即可. 现在我正在使用: override func mouseDown(with eve
..
我创建了一个NSButton类,当将鼠标悬停在按钮上时,它很高兴地检测到mouseEntered和mouseExited事件.但是,一旦发生mouseDown事件,只要将其按下,就不会再调用mouseEntered事件,直到抬起鼠标按钮为止. 因此,当调用mouseDown事件时,将鼠标悬停在其他按钮上直到我放开最初的mouseDown时,将不再调用mouseEntered或MouseExi
..
当我覆盖NSScrollView中的scrollWheel(theEvent:NSEvent)函数时,遇到一个奇怪的错误. 这是我的代码: import Cocoa class GraphScrollView: NSScrollView { var axisScrollViewInstance: AxisScrollView? override func scrol
..
我正在尝试创建OS X键盘挂钩以用于辅助技术(即不用担心,而不是键盘记录程序). 当用户按下某个键时,我想防止真正的按键,并发送一个假按键(我选择的字符). 我有以下代码: - (void) hookTheKeyboard { CGEventMask keyboardMask = CGEventMaskBit(kCGEventKeyDown); id eventH
..
在某些应用中,让应用直接处理键盘快捷键是有意义的,否则这些快捷键会绑定到系统范围的组合中.例如,⌘-Space(通常为Spotlight)或⌘-Tab(通常为应用程序切换器).这适用于各种Mac应用程序,例如VMWare Fusion,Apple自己的屏幕共享和远程桌面客户端(分别将事件转发到VM或服务器,而不是在本地处理事件),以及App中的一些类似第三方应用程序商店. 我们想在我们正在开
..
我正在尝试模拟Spotlight在优胜美地中的工作方式,其中当按下向上/向下箭头键并上下移动表格视图选择时,NSTextField(搜索字段)始终保持焦点. 我实现了以下代码: - (BOOL)control:(NSControl *)control textView:(NSTextView *)textView doCommandBySelector:(SEL)commandSele
..