在Cocoa中捕获未处理的键盘事件



我正在做一个Cocoa应用。

我想捕捉所有键盘事件没有被任何响应者处理,并报告给谷歌分析。

为此,我想设置一个自定义NSResponder,实现keyDown:作为当前最后一个响应者的下一个响应者。

我应该在何时何地调用setNextResponder:以保持我的自定义类是最后一个响应者?

From Apple docs:

如果没有找到处理事件的对象,则对象中的最后一个响应器chain调用noResponderFor:,它用于简单的键按事件哔哔声。事件处理对象(NSWindow和NSView的子类)可以根据需要重写此方法以执行其他步骤。

最新更新