“f”键的按键事件仅偶尔发送

时间:2013-11-10 06:00:29

标签: objective-c macos cocoa nstableview keyboard-events

尝试使用字母“f”在我的窗口控制器中通过keyDown:(NSEvent *)theEvent触发操作,该操作只会偶尔起作用。

如果我在theEvent.characters函数中记录keyDown,我注意到我只在30%-80%的时间内接收了关键事件。这看起来很随意。

当我按下“f”键并且keydown没有拿起它时,我的NSTableView有时会向下滚动。

“f”是NSTableView使用的快捷方式吗?造成这种情况的原因是什么?

keyDown代码:

- (void)keyDown:(NSEvent *)theEvent {
    if ([theEvent.characters isEqualToString:@"f"]) {
        if (!theEvent.isARepeat) {
            [self clickFavorite];
        }
    } else if ([theEvent.characters isEqualToString:@" "]) {
        if (!theEvent.isARepeat) {
            [self clickPlayPause];
        }
    } else {
        [super keyDown:theEvent];
    }
}

0 个答案:

没有答案