私のMacアプリケーションのシステムワイドキーボード入力を検出しようとしています。私は以下のコード使用しています行うには:これは完璧に動作し、追跡しながらaddGlobalMonitorForEventsMatchingMaskingハンドラがSafariの特定の入力に対してトリガされない
[NSEvent addGlobalMonitorForEventsMatchingMask:NSEventMaskKeyDown
handler:^(NSEvent *event) {
NSString *eventChars = [event characters];
unichar keyChar = [eventChars characterAtIndex:0];
NSLog(@"keyboard char is %c",keyChar);
}];
をキーボード入力は、ユーザーが任意のWebページ(例では、パスワードを入力しようとする場合にのみ、ハンドラがトリガされません、Safariの上の任意の場所に入力されましたFacebookのログインページのパスワードボックス、パスワードボックスを持つログインページ)。ユーザー名の入力を追跡できるのに対し、パスワードの入力はできません。
これは正常な動作か、これはChromeで完全に動作するため、何か不足していますか?すべてのキーボード入力は、Google Chromeのグローバルモニタで追跡できますが、Safariのこの特定のケースでのみ失敗します。