Разработка приложения под OS X, проблема с глобальными NSEvent

Добрый день, коллеги.

Собираем первое приложение под OS X. Столкнулись с проблемой.

Нужно что-бы программа в фоне улавливала глобальное нажатие клавиш ctrl, alt, cmd (удерживание). Может кто-то сталкивался?
  • Вопрос задан
  • 3013 просмотров
Пригласить эксперта
Ответы на вопрос 1
Flanker_4
@Flanker_4
Это?
Там есть пример для ctrl alt cmd + t

I'm posting the code that worked for my case.

I'm adding the global event handler after the app launches. My shortcut makes ctrl+alt+cmd+T open my app.

- (void) applicationWillFinishLaunching:(NSNotification *)aNotification
{
    // Register global key handler, passing a block as a callback function
    [NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask
                                           handler:^(NSEvent *event){

        // Activate app when pressing cmd+ctrl+alt+T
        if([event modifierFlags] == 1835305 && [[event charactersIgnoringModifiers] compare:@"t"] == 0) {

              [NSApp activateIgnoringOtherApps:YES];
        }
    }];

}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы