2010-09-29 2 views
0

Я только что прочитал this article о том, как создавать глобальные горячие клавиши с использованием событий Carbon. В комментариях автор упомянул, что он, вероятно, не будет использовать эту технологию больше, потому что это «способ к устареванию». Все идет нормально.Альтернатива какао для событий углерода для глобальных горячих клавиш

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

Благодаря
-f

+1

Связанный вопрос: http://stackoverflow.com/questions/3760318 –

ответ

6

Вы можете использовать +[NSEvent addGlobalMonitorForEventsMatchingMask:handler:], но это не совсем так же, как метод углерода. Соответствующий блок вызывается для каждого ключевого события, поэтому вам нужно написать код, который будет соответствовать только тому, который вы хотите. Он также работает только в Snow Leopard.

Лично я продолжаю использовать Carbon Events для глобальных горячих клавиш. Apple обесценивает Carbon, но очень медленно, а компонент событий Carbon, скорее всего, будет на некоторое время.

+2

+1 для горячих клавиш, Углерод по-прежнему остается. Несколько частей Carbon (включая материал для горячих клавиш) были обновлены до 64-битной совместимости. –

+1

Как многие приложения показали неудачный опыт, обработка пользовательских ключей сложна. Если пользователь использует любой макет, отличный от QWERTY, вы ошибетесь. Мониторы NSEvent являются аналогами CGEventTap, а не горячими клавишами; оставить обработку горячих клавиш диспетчеру углерода. Пока он не устареет и нет альтернативы какао, нет причин не делать этого. Вы можете использовать сторонний класс-оболочку, если вы действительно не хотите писать код Carbon. –

+0

Apple объявила API-интерфейсы Carbon, устаревшие в OS X 10.8 Mountain Lion. – Zelko

Смежные вопросы