macOS屏幕保护程序键盘交互

时间:2019-04-12 05:48:13

标签: macos nsview screensaver

我已经制作了一个自定义的macOS屏幕保护程序(来自Xcode模板)。它可以安装并且可以正常工作,除非我想关闭屏幕保护程序。我只能在按下键盘修饰键(如Ctrl),无标准键(如空格键等)时关闭它。

我有点displaying不安地感觉到正在显示我的内容的NSView正在吞没标准按键事件,因此没有关闭屏幕保护程序。有没有人有解决此问题的想法?

1 个答案:

答案 0 :(得分:0)

我知道发生了什么事。我有一个SceneKit视图,它与关键事件无关。解决方案是手动将其传递给实际上为ScreenSaverView的超级视图。

- (void)keyDown:(NSEvent *)event
{
    [self.view.superview keyDown:event];
}

- (void)keyUp:(NSEvent *)event
{
    [self.view.superview keyUp:event];
}