Macos Catch Capslock压力机在可可粉中的应用
我正在开发一个应用程序,它使用了Spakovski的great。我引用这篇文章是想问,是否有一种方法可以像Shpakovski在他的存储库中那样注册Capslock的快捷方式 似乎我无法将0xffff(显示为Capslock)注册为有效的快捷方式。即使我将其与修改器关键点组合。我还想在切换系统Capslock功能之前先了解一下媒体 我知道我可以听所有的击键,当它发生时只捕捉Capslock,但我想避免这种行为,因为我觉得它可能不安全,而且还会降低系统的整体性能 <>编辑:我已经看了一些Windows的C++ c/c库,它实现了这个特性。它们似乎不断地覆盖系统的Capslock标志,我觉得这很奇怪。我这里基本上有两个问题: 1。如何捕捉Capslock按键,而无需一直使用按键侦听器Macos Catch Capslock压力机在可可粉中的应用,macos,cocoa,event-handling,keyboard-shortcuts,Macos,Cocoa,Event Handling,Keyboard Shortcuts,我正在开发一个应用程序,它使用了Spakovski的great。我引用这篇文章是想问,是否有一种方法可以像Shpakovski在他的存储库中那样注册Capslock的快捷方式 似乎我无法将0xffff(显示为Capslock)注册为有效的快捷方式。即使我将其与修改器关键点组合。我还想在切换系统Capslock功能之前先了解一下媒体 我知道我可以听所有的击键,当它发生时只捕捉Capslock,但我想避免这种行为,因为我觉得它可能不安全,而且还会降低系统的整体性能 编辑:我已经看了一些Windows
2。如何在不触发系统Capslock功能的情况下执行此操作。一种可能是覆盖
应用程序中的发送事件:
。发件人:
虽然您可能希望直接调用sendEvent,但很少直接调用
重写此方法以对每个事件执行某些操作。发送事件:
消息从主事件循环(run方法)发送。
sendEvent:是将事件分派到相应的
响应程序NSApp处理应用程序事件,NSWindow对象
事件记录中指示的处理与窗口相关的事件和鼠标
并将关键事件转发到相应的NSWindow对象,以便
进一步派遣
您可以评估当前事件是否按下了修改器键,并对其进行操作
编辑:
可用于后台处理。如果这导致拒绝,我不知道。如果我这样做,我是否会因为每次击键都会查看而面临被拒绝的潜在“键盘记录者”的危险?如果应用程序不在焦点/后台,是否也会调用此函数?我认为这不会给App Store带来问题。子类化sendEvent:本身并不禁止。不过,只有当你的应用程序具有focus时,它才会被调用。我被拒绝的原因远比这少不过,我需要一个在应用程序处于后台时可以工作的实现:(我已经用事件点击编辑了关于后台处理的答案。谢谢Volker!我会仔细看一看,如果有效,我会接受你的答案!