【问题标题】:Objc Cocoa: EnterFullScreenMode prevents keyboard being used on second monitorObjc Cocoa:EnterFullScreenMode 防止在第二台显示器上使用键盘
【发布时间】:2016-11-26 03:36:44
【问题描述】:

在 Mac OS 上,当我像这样进入全屏模式时:

NSDictionary *opts = [NSDictionary dictionaryWithObjectsAndKeys: 
                    [NSNumber numberWithBool:NO], NSFullScreenModeAllScreens, nil];

[gl_view enterFullScreenMode:[NSScreen mainScreen] withOptions:opts];

第二台显示器(即没有全屏应用的显示器)不再接收键盘输入。鼠标很好用。

我查看了从the documentation 引出的所有选项和兔子洞,但我找不到任何可以控制键盘是否被捕获的东西。

这是一个错误,还是一个可配置的选项?

编辑:抢占一个可能(和明智的)回复:我知道 10.7 引入了一个新的并且被广泛认为是更好的全屏 API,但我必须支持 10.6。

【问题讨论】:

    标签: objective-c macos cocoa


    【解决方案1】:

    我想出了答案。进入全屏模式后调用以下命令会放弃键盘上的捕获:

    // release the keyboard capture on this display                               
    CGDirectDisplayID display = kCGDirectMainDisplay;                             
    CGDisplayRelease(display);                                                    
    

    欲了解更多信息,请转到here。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 2012-04-01
      相关资源
      最近更新 更多