NSOpenGLView子类中的键盘事件令人讨厌的凹凸声音

时间:2010-10-25 03:42:17

标签: cocoa nsview nsopenglview

我已经覆盖了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 个答案:

答案 0 :(得分:3)

很难说没有你的代码,但我猜你已经把事件传递给超级,即使你“消耗”了它。嘟嘟声说“没有人正在处理此事件,因此不允许键盘输入。”如果您使用(处理)事件,请不要将其传递给super,否则系统会假定您的视图未处理该事件。