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

时间:2015-09-20 13:33:42

标签: cocoa appkit nsresponder

我正在使用Cocoa应用程序。

我想抓住所有未被任何响应者处理的键盘事件,并将其报告给Google Analytics。

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

我应该何时何地致电setNextResponder:以便将我的自定义类保留为最后一位响应者?

1 个答案:

答案 0 :(得分:2)

来自Apple docs

  

如果没有找到对象来处理事件,那么最后一个响应者就是   chain调用noResponderFor:,仅用于关键事件   发出蜂鸣声。事件处理对象(NSWindow和NSView的子类)可以   覆盖此方法以根据需要执行其他步骤。