敲击键时发出不必要的蜂鸣声 [英] Unwanted beep when a key is hit

查看:76
本文介绍了敲击键时发出不必要的蜂鸣声的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个接受键输入的自定义视图,它位于 NSScrollView 内.我已将 acceptsFirstResponder 设置为 yes 并且它成功接受了 keyDown.但是每次我按下一个键,我都会听到一声哔哔声.我确定还有其他需要但不记得是什么.. 请帮忙.

<块引用>

-(void)keyUp:(NSEvent *)theEvent{NSLog(@"是第一响应者 %i", self.window.firstResponder == self);开关(事件.keyCode){案例 KeyCodeEnumBackspace:案例 KeyCodeEnumDelete:{如果(self.scheduleControl.selectedEvent){[self.scheduleControl deleteEvent:self.scheduleControl.selectedEvent];}}休息;默认:休息;}}

解决方案

明白了.哔声发生在 keyDown,而不是 KeyUp.要删除哔声,我需要处理它,一个空的实现就足够了.关键是不是把它传给super

- (void)keyDown:(NSEvent *)theEvent {}- (void)keyUp:(NSEvent *)theEvent {开关(事件.keyCode){案例 KeyCodeEnumBackspace:案例 KeyCodeEnumDelete:如果(self.scheduleControl.selectedEvent){[self.scheduleControl deleteEvent:self.scheduleControl.selectedEvent];}休息;默认:休息;}}

I have a custom view that accepts key input, its inside a NSScrollView. I have set the acceptsFirstResponder to yes and it is accepting the keyDown successfully. But every time I hit a key, I hear a beep. I'm sure that there something else needed but can't remember what.. Please help.

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

NSLog(@"is first responder %i", self.window.firstResponder == self);

switch (theEvent.keyCode) {
    case KeyCodeEnumBackspace:
    case KeyCodeEnumDelete:
    {
        if (self.scheduleControl.selectedEvent) {
            [self.scheduleControl deleteEvent:self.scheduleControl.selectedEvent];
        }
    }
        break;

    default:
        break;
}
   }

解决方案

Got it. The beep occurs at keyDown, not at KeyUp. To remove the beep, I need to handle it, and an empty implementation will suffice. The key is not to pass it to super

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

}

- (void)keyUp:(NSEvent *)theEvent {
    switch (theEvent.keyCode) {
        case KeyCodeEnumBackspace:
        case KeyCodeEnumDelete:
            if (self.scheduleControl.selectedEvent) {
                [self.scheduleControl deleteEvent:self.scheduleControl.selectedEvent];
            }
            break;
        default:
            break;
    }
}

这篇关于敲击键时发出不必要的蜂鸣声的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆