Какао: ограничить мышь до экрана - PullRequest
4 голосов
/ 17 декабря 2010

Я разрабатываю приложение в режиме киоска для OSX.В некоторых случаях прикрепляется другой экран.Мое приложение работает в полноэкранном режиме на одном экране, используя:

[self.window.contentView enterFullScreenMode:s 
                                 withOptions:[NSDictionary dictionaryWithObject:appOptions
                                      forKey:NSFullScreenModeApplicationPresentationOptions]];

Возможны следующие варианты:

[NSNumber numberWithUnsignedInt:(NSApplicationPresentationHideMenuBar|
                                NSApplicationPresentationHideDock|
                                 NSApplicationPresentationDisableHideApplication|
                                 NSApplicationPresentationDisableProcessSwitching|
                                 NSApplicationPresentationDisableAppleMenu)];

Я хочу ограничить курсор мыши на экране, на котором запущена игра.

Как мне это сделать?

1 Ответ

8 голосов
/ 17 декабря 2010

Добавьте NSTrackingArea на экраны, в которые не требуется ввод мыши.Когда вы получите уведомление о том, что мышь вошла в область отслеживания, используйте CGEventCreateMouseEvent и CGPostEvent, чтобы переместить мышь обратно в безопасное место, возможно, в ближайшую точку на главном экране.

...