Как получить доступ (прослушать) мультимедийные клавиши (воспроизведение / пауза) в Mac OS X? - PullRequest
8 голосов
/ 22 сентября 2008

Я хочу написать расширение Songbird , связывающее мультимедийные клавиши, доступные на всех платформах Apple Mac OS X. К сожалению, это не простой поиск в Google, и я не могу найти никаких документов.

Может кто-нибудь указать мне ресурсы на доступ к этим ключам или подсказать, как это сделать?

У меня большой опыт программирования, но это будет мое первое программирование в MacOSX и XUL (Firefox и т. Д.), Так что любые советы по любому приветствуются.

Обратите внимание, что это не обычные ключевые события. Я предполагаю, что это должно быть системное событие другого типа, которое мне нужно будет подключить или подписаться.

Ответы [ 3 ]

2 голосов
/ 08 января 2009

Это сообщение в блоге имеет решение:

http://www.rogueamoeba.com/utm/posts/Article/mediaKeys-2007-09-29-17-00.html

Вам необходимо создать подкласс NSApplication и переопределить sendEvent,
ищет специальные коды сканирования. Я не знаю, что такое певчая птица, но если это
не реальное приложение, тогда я сомневаюсь, что вы сможете это сделать.

Или, может быть, вам подойдет простая категория:

@implementation NSApplication(WantMediaKeysCategoryKBye)
- (void)sendEvent: (NSEvent*)event
{
    // intercept media keys here
}
@end
1 голос
/ 25 сентября 2008

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

http://gentoo -wiki.com / HOWTO_Use_Multimedia_Keys содержит хорошее объяснение поиска кодов ключей и предлагает помощь по поиску необработанных кодов сканирования и их переводу в коды ключей.

0 голосов
/ 22 сентября 2008

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

...