Раздражающий звук удара с событиями клавиатуры в подклассе NSOpenGLView - PullRequest
3 голосов
/ 25 октября 2010

Я переопределил NSOpenGLView для обработки событий клавиатуры. Обнаружение событий работает нормально, но каждый раз, когда я нажимаю клавишу, я слышу и раздражающий звук. Как я могу сказать своему взгляду, чтобы расслабиться?

Вот как выглядит мой метод keyUp:

-(void) keyUp:(NSEvent *)theEvent
{
    NSString *characters = [theEvent charactersIgnoringModifiers];

    if ( [characters length] != 1 )
        return;

    unichar keyChar = [characters characterAtIndex:0];

    if ( keyChar == NSLeftArrowFunctionKey ) 
    {
        //do something
        return;
    }

    if ( keyChar == NSRightArrowFunctionKey ) 
    {
        //do something
        return;
    }

    if ( keyChar == NSUpArrowFunctionKey ) 
    {
        //do something
        return;
    }

    if ( keyChar == NSDownArrowFunctionKey ) 
    {
        //do something
        return;
    }
}

1 Ответ

3 голосов
/ 25 октября 2010

Трудно сказать без вашего кода, но я предполагаю, что вы передали событие до супер, даже если вы его "потребили".Звуковой сигнал говорит: «Никто не обрабатывает это событие, поэтому ввод с клавиатуры запрещен».Если вы используете (обрабатываете) событие, не передавайте его супер, иначе система будет считать, что ваше представление не обработало событие.

...