Если вы безуспешно пытались сделать представление первым отвечающим, это, скорее всего, связано с тем, что NSView
возвращает NO
для acceptsFirstResponder
. Вы можете заставить свой NSView
подкласс переопределить acceptsFirstResponder
, чтобы вернуть YES:
- (BOOL)acceptsFirstResponder {
return YES;
}
Это должно устранить звуковые сигналы. В качестве альтернативы вы могли бы иметь подкласс NSView
, переопределяющий метод performKeyEquivalent:
NSResponder
, чтобы возвращать YES, что также должно устранить NSBeeps:
- (BOOL)performKeyEquivalent:(NSEvent *)event {
return YES;
}
ОБНОВИТЬ:
Не уверен, что предложить. На самом деле я написал приложение «Помощник по очистке клавиатуры», которое в основном предназначено для того, чтобы делать что-то похожее на то, что вы хотите. (Я использовал его на своем ноутбуке, когда хотел почистить клавиатуру, и сотни нажатий клавиш не приводили к случайному переименованию файлов или повторяющимся звуковым сигналам об ошибках).
Пример проекта: http://www.markdouma.com/developer/KeyboardCleanerHelper.zip
Запустив это приложение, я вообще не могу заставить его издавать звуковой сигнал (вызовы уведомлений регистрируются в консоли).
person
NSGod
schedule
22.11.2012