Как отключить звуки клавиатуры в приложении Какао? - PullRequest
2 голосов
/ 03 ноября 2011

У меня проблема с моим OpenGL Cocoa приложением - каждый раз, когда происходит событие keyUp / KeyDown , воспроизводится системный звук ... Как я могу отключить эту логику для моего приложения?

У меня плохое предчувствие, что по какой-то странной причине мое приложение может воспринимать нажатие клавиши как ошибку и воспроизводить звуковой сигнал системы ... Пожалуйста, помогите!

Ответы [ 2 ]

3 голосов
/ 07 ноября 2011

добавить к вашему подклассу NSView / NSWindow

- (void)keyDown:(NSEvent *)theEvent {

и сделать исключение для клавиш вверх и вниз, но для других [super keyDown: theEvent];

я думаю, что это может иметь смысл

0 голосов
/ 27 июня 2015
  1. Создайте класс Какао, подклассифицируя его из NSView
  2. Установите его как класс для вашего View вместо стандартного серого NSView в раскадровке
  3. Добавьте следующее к вашей реализации подкласса:
@implementation YourCustomNSView

- (BOOL)acceptsFirstResponder {
    return YES;
}

- (void)keyDown:(NSEvent *)theEvent {

    NSLog (@"keypress %@", theEvent);
//    [super keyDown:theEvent]; // this line triggers system beep error, there's no beep without it
}

@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...