代码之家  ›  专栏  ›  技术社区  ›  LandonSchropp

nsopenglview子类中键盘事件的恼人的碰撞声

  •  3
  • LandonSchropp  · 技术社区  · 14 年前

    我已经重写了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 回复  |  直到 14 年前
        1
  •  3
  •   Joshua Nozzi    14 年前

    很难说没有你的代码,但我猜你把事件传递给了super,即使你“消耗”了它。蜂鸣音表示“没有人处理此事件,因此不允许键盘输入。”如果您使用(处理)此事件,请不要将其传递给Super,否则系统将假定您的视图没有处理此事件。