问题标签 [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.
cocoa - Mac Cocoa:如何区分 NSScrollWheel 事件是来自鼠标还是触控板?
在我的应用程序中,我希望滚动发生,仅通过鼠标滚轮操作,而不是通过触控板上的两个手指手势。基本上,我试图确定 scrollWheelEvent 是否是从鼠标或触控板内部生成的 - (void)scrollWheel:(NSEvent *)theEvent 方法。据我目前所知,似乎没有直接的方法来实现这一点。
我尝试了在 -(void)beginGestureWithEvent:(NSEvent *)event; 内将布尔变量设置为 true 和 false 的解决方法;和 -(void)endGestureWithEvent:(NSEvent *)event; 但这不是解决方案,因为在调用 endGestureWithEvent: 方法之后,scrollWheel: 方法被多次调用。
这是我的代码:
我知道这是不标准的,但这是我的要求。有谁知道这样做的方法?谢谢!
objective-c - 山狮中没有调用键盘事件
我想在我的应用程序中接收任何键盘事件的通知,applitionDidFinishLaunching 方法中的以下代码在 lion 上运行良好,但在山狮上没有被调用。
我收到鼠标移动事件,但不适用于键盘事件。
cocoa - 单击 NSControl 时未调用 mouseDown 事件,甚至在子类 NSView 上也未调用
如何让当前的 NSControl 点击 NSWindow?我在 NSWindowController 上有一个鼠标按下事件,
-(void)mouseDown:(NSEvent *)theEvent {
但是当我在放置在 NSWindow 上的 NSControls 内单击时,我根本没有调用鼠标按下事件。
我什至将 NSControls 子类化为自定义 NSViews,但是在内部单击时我也没有收到他们的鼠标按下事件。我添加 setAcceptsTouchEvents
了是并调用了acceptsFirstResponder,但它没有帮助。令人惊讶的是,当我单击 NSWindow 而不是任何 NSControls 时,我得到了 mousedown 事件。
我在这里做错了什么?
objective-c - NSEvent commandKey 未检测到
我正在尝试检测是否按下了命令键,并且我一生都无法弄清楚以下内容有什么问题。我重写了一个视图以提供以下代码:
每当我按下命令键时,我都会看到“标志已更改”消息,但看不到“命令键输入”消息。我错过了什么?
objective-c - 如何在自定义 NSView 上用 3 个手指(NSEvent)捕捉 1 个水龙头?
我必须按照代码mouseDown
在我的自定义上捕获 sNSView
但我认为这只会捕获多少次点击(使用clickCount
),而不是使用多少个手指来点击:
关于如何在我的自定义 NSView 上用 3 个手指捕捉 1 个水龙头的任何想法?我想重现类似 Finder.app 选项的内容,您可以在其中用 3 根手指点击文件,然后会显示 QuickLook 面板。
谢谢!
cocoa - 在可可应用程序中检测 Enter/Return 键的最佳方法?
在我的可可应用程序中,我需要检查输入/返回键。为此我使用了下面的代码
有人可以建议这是正确的方法吗?提前致谢 :)
objective-c - 如何专门捕获修饰键?
当使用 NSEvent flagsChanged 并使用各种 KeyMask 对标志进行 AND 运算时,您如何以独家方式测试它们?目前,在模式中使用一系列 if else 条件:
即使第三个修饰键被按下,这也会匹配。在 if else 条件句中较早地放置较长系列的关键掩码会使行为按预期工作,但不知何故感觉不完整。是说“只有这些修饰键,而不是其他任何键”的好方法吗?
这是一个更具体的示例,其中第一个在其他之前匹配。我想知道是否有一种方法可以为每个说“只有这些修饰键”的逻辑添加一些逻辑。
因此,由 Ken Thomases 提供的我正在寻找的正确模式是:
flags &= (<one or more masks bitwise OR'd together);
if (flags == (<one or more masks bitwise OR'd together)) { // do something }
这给出了排他匹配。
objective-c - DDHotKey - 跟踪而不取消事件
我正在使用DDHotKey来跟踪一些系统范围的键盘快捷键。当事件被触发时,只有我的应用程序才能交付它。是否可以在不阻止事件传递到其原始目标应用程序的情况下观察它?
以下是此模块注册事件处理程序的方式:
和事件处理程序本身:
cocoa - 如何接受鼠标单击一部分并让单击其余的 NSWindow
我有下面的子类 NSWindow 代码,有一个可以缩放的动画视图,我想在正确的位置单击它时接受单击,如果它在外部则拒绝(单击)。
下面的代码运行良好,只是窗口不允许点击通过。
objective-c - 如何找出 keyCode 对应于实际字符还是功能键?
下面是我的代码。但是我怎么知道这个字符是否来自字母表?(任何字母,不仅仅是 az)