2015-09-20 38 views
0

我正在研究Cocoa应用程序。在Cocoa中捕捉未处理的键盘事件

我想捕获任何响应者未处理的所有键盘事件,并将它们报告给Google Analytics。

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

何时何地我应该致电setNextResponder:以保持我的自定义班级是最后一位应答者?

回答

2

Apple docs

如果没有找到对象来处理该事件,在 链的最后一个响应者调用noResponderFor:,这对于一键按下事件只是 蜂鸣声。事件处理对象(NSWindow和NSView的子类)可以重写此方法以根据需要执行其他步骤。

+0

不错!之前没有听说过这种方法.. – cacau