【问题标题】:Detect if user is typing in macOS检测用户是否在 macOS 中输入
【发布时间】:2018-04-01 16:07:18
【问题描述】:

在 macos 中,我有以下代码来检测用户是否正在键入(字面意思是用户是否正在键入任何键):

[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDown
                                       handler:^(NSEvent *event){
                                           NSLog(@"keydown: %@", event.characters);

                                       }];

这段代码绝对行不通。是否有替代 NSKeyDown 的全局监视器?

【问题讨论】:

  • 什么不起作用?你的代码达到这个方法了吗?
  • 谢谢你们是对的,我有一个重复的功能。我有 NSKeyDown 并且我有另一个 NSEvent 全局监视器功能与 NSRightMouseUp。但是如果我想同时运行两者呢?我可以同时运行吗?

标签: objective-c macos


【解决方案1】:

看起来你应该使用 NSEventMaskKeyDown,而不是 NSKeyDown。

所以这应该可以工作

[NSEvent addGlobalMonitorForEventsMatchingMask: NSEventMaskKeyDown | NSEventMaskRightMouseUp
                                       handler:^(NSEvent *event){
                                           NSLog(@"keydown: %@", event.characters);

                                       }];

【讨论】:

  • 感谢它的工作原理,但它应该是 NSRightMouseUp 而不是 NSEventMaskRightMouseUp
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
相关资源
最近更新 更多