问题标签 [nsevent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - NSMenu 阻塞定时器 / 全局事件监视器 / 等等
单击按钮时,我正在显示一个弹出菜单。问题是,当该菜单打开时,计时器不再工作:
要显示菜单:
单击按钮后,我的计时器(在弹出窗口之前调用)不再发送消息。
还尝试过 [NSEvent addGlobalMonitorForEventsMatchingMask..] 甚至 CGEventTapCreate。什么都没有被调用。
如何使弹出窗口不阻塞/模态?我知道这是可能的,我已经看到另一个应用程序做到了。感谢您的任何想法。
macos - 如何取消多点触控事件?
我们有一个 OS X 应用程序,我们需要在其中阻止响应三指点击而出现的弹出字典。
最初我们研究了更改受触控板首选项面板影响的值,但无论使用这些值都不会获取更改后的值。只有偏好面板似乎会影响任何事情。我们尝试的命令是:
如果您注销并重新登录,则设置将生效。这不是我们的选择。
下一个想法是覆盖我们应用程序主视图中的三位数触摸事件。我可以收到事件,但我看不到任何取消事件。例如:
想法?
objective-c - 如何在 mac OS X 目标 c 代码中丢弃 command+shift+Q 命令?
我正在尝试在 Mac OS X 上实现屏幕保护程序模拟器,我设法禁用了导致应用程序退出的按 command+Q 的效果,所以现在如果它处于全屏模式,它将不会响应退出键盘快捷键。
但是,我的问题是处理(Command + Shift + Q)的快捷方式,它会弹出Max OS X的确认对话框,警告退出所有应用程序并记录系统。
任何人都可以帮助我在全屏模式下防止 command+shift+q 快捷方式的影响吗?
谢谢
macos - 通过拖动来释放和移动子窗口
我正在尝试在两个NSWindow
s 之间实现边缘对接功能。当用户移动可以停靠在主窗口下方的窗口时,我将其捕捉到位并将其作为子窗口添加到主窗口。这很好用。但是,我无法通过简单地拖动它来将停靠的窗口移开。目前我监听该NSLeftMouseDragged
事件,当它开始时,我通过将其作为子窗口从主窗口中删除来取消停靠窗口。这有效,但窗口没有移动。您必须释放鼠标按钮并开始新的拖动操作才能将窗口移开。我猜会发生这种情况,因为当第一次拖动开始时,窗口被作为子窗口放置,因此不能被该拖动移动,即使它同时被释放。有没有办法解决?谢谢
objective-c - 如何在 OS X 中全局监控滑动手势
我想制作一个在后台运行的 OSX 应用程序,并在触控板上检测到用四根手指向下滑动时执行某些功能。
似乎很容易。Apple 的文档在这里几乎完全显示了这一点。他们的示例监视鼠标按下事件。作为一个简单的测试,我将以下内容放入applicationDidFinishLaunching:
我的AppDelegate
.
这按预期工作。但是,更改NSLeftMouseDownMask
为NSEventMaskSwipe
不起作用。我错过了什么?
macos - 在 OSX 中检测点击并按住
有没有办法检测 NSView 中的点击并按住?我想在按住鼠标按钮 0.5 秒后触发一个事件 - 类似于 iOS 中的 longPressGesture。
macos - -SendEvent 的行为不符合预期
我有一个全屏透明窗口,显示在我的应用程序主菜单上方。它已ignoresMouseEvents
设置为 NO。尽管如此,为了接收鼠标点击,我添加了以下代码:
每次用户在我的应用程序处于活动状态时单击时,click
都会调用一个方法:
如您所见,如果单击是在主菜单栏上,它将主窗口的属性更改为ignoresMouseEvents
YES - 之后它会调用sendEvent:
. NSApplication
最后,它将ignoresMouseEvents
主窗口的属性更改回 NO。
但是,即使单击主菜单栏时日志确实显示“单击”,单击也没有效果。例如,如果我单击一个菜单项(例如“文件”菜单项),它将不会打开相应的菜单(在本例中为文件菜单)。
我究竟做错了什么?
macos - 将 NSEvent keyCode 映射到虚拟键码
NSEvent keyCode给出了一个键盘扫描码,这是一个代表物理键的硬件特定代码。我想将扫描码转换为虚拟键码,这是基于用户键盘布局(QWERTY、AZERTY 等)的逻辑键。
在 Windows 中,我可以通过MapVirtualKey做到这一点。什么是 OS X 等价物?
cocoa - Cocoa - 如何区分 NSTableView 内的单击和滚动(连续按下 UP/DOWN 键)
我想在 NSTableView 中选择特定记录时触发查询,而不是当用户通过连续按下向上/向下按钮来向下滚动或向上滚动以到达记录时。
我目前的实现是
但是以这种方式,即使长时间按下 UP/DOWN,查询也会被触发,这不是预期的。
有什么方法可以区分 NSTableView 中的单击和滚动(连续按下 UP/DOWN 键),就像邮件应用程序一样。
objective-c - 用鼠标切换 TableView 单元格的选定状态
默认情况下,NSTableView 允许用户通过单击表格视图空白区域的任意位置来清除行选择。然而,这并不总是直观的,有时甚至是不可能的(例如,当表格视图本身实际上没有任何空白区域时)。
那么如何允许用户通过再次单击来取消选择该行呢?在这种情况下,不会调用常规委托方法(如-tableView:shouldSelectRow:
),因此您无法通过这种方式捕获对已选择行的点击。