0
votes

On Mac OS, when I enter full screen mode like so:

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

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

the second monitor (i.e., the monitor which doesn't have the full screen app on it) no longer receives keyboard input. The mouse works fine.

I've looked through all of the options and rabbit holes that lead from the documentation, but I can't find anything which would control whether or not the keyboard is captured.

Is this a bug, or a configurable option?

Edit: to preempt a likely (and wise) reply: I do know that 10.7 introduced a new and widely considered to be better fullscreen API, but I have to support 10.6.

1

1 Answers

0
votes

I worked out the answer. Calling the below after entering full screen mode relinquishes the capture on the keyboard:

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

For more info go here.