在 Cocoa 中捕获未处理的键盘事件
Catch unhandled keyboard events in Cocoa
我正在开发 Cocoa 应用程序。
我想捕获所有未被任何响应者处理的键盘事件,并将它们报告给 Google Analytics。
为此,我想设置一个实现 keyDown:
的自定义 NSResponder
作为当前最后一个响应者的下一个响应者。
我应该在何时何地致电 setNextResponder:
以使我的自定义 class 成为最后一个响应者?
来自Apple docs:
If no object is found to handle the event, the last responder in the
chain invokes noResponderFor:, which for a key-down event simply
beeps. Event-handling objects (subclasses of NSWindow and NSView) can
override this method to perform additional steps as needed.
我正在开发 Cocoa 应用程序。
我想捕获所有未被任何响应者处理的键盘事件,并将它们报告给 Google Analytics。
为此,我想设置一个实现 keyDown:
的自定义 NSResponder
作为当前最后一个响应者的下一个响应者。
我应该在何时何地致电 setNextResponder:
以使我的自定义 class 成为最后一个响应者?
来自Apple docs:
If no object is found to handle the event, the last responder in the chain invokes noResponderFor:, which for a key-down event simply beeps. Event-handling objects (subclasses of NSWindow and NSView) can override this method to perform additional steps as needed.