3

キーボード イベントを処理するために 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;
    }
}
4

1 に答える 1

3

コードがないとわかりにくいですが、イベントを「消費」したとしても、イベントをスーパーに渡したと思います。ビープ音は、「誰もこのイベントを処理していないため、キーボード入力は許可されていません」と言っています。イベントを消費 (処理) する場合は、それを super に渡さないでください。システムは、ビューがイベントを処理していないと見なします。

于 2010-10-25T11:08:23.603 に答える