события клавиатуры не вызываются в горном льве

Я хочу получать уведомления о любом событии клавиатуры в моем приложении, следующий код в методе applitionDidFinishLaunching хорошо работает на льве, но не вызывается на горном льве.

 [NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event) {

NSLog(@"key pressed");        
    }];

Я получаю событие перемещения мыши, но не работаю с событиями клавиатуры.


person Vishal Singh    schedule 22.01.2013    source источник


Ответы (1)


Если вы хотите получать события нажатия клавиш глобально, вы должны установить следующие настройки на своем Mac:

Системные настройки ---> Специальные возможности --> и установите флажок Включить доступ для вспомогательных устройств (по крайней мере, для клавиатуры).

тогда ваша система сможет получать события нажатия клавиши по всему миру.

person MouseCrasher    schedule 30.01.2013
comment
Я не вижу эту опцию! Я на 10.9. - person Hlung; 21.03.2014