我想写一个 Songbird 扩展程序绑定所有Apple Mac OS X平台上可用的多媒体键。不幸的是,这不是一个简单的谷歌搜索,我找不到任何文档。

有人能指出我访问这些密钥的资源或告诉我该怎么做吗?

我有丰富的编程经验,但这将是我第一次使用MacOSX和 XUL <进行编码/ a>(Firefox等),欢迎任何提示。

请注意,这些不是常规的关键事件。我认为它必须是我需要挂钩或订阅的不同类型的系统事件。

有帮助吗?

解决方案

此博文有一个解决方案:

http:// www .rogueamoeba.com / UTM /帖/条/ mediaKeys-2007-09-29-17-00.html

你基本上需要继承 NSApplication 并覆盖 sendEvent
寻找特殊的扫描码。我不知道鸣禽是什么,但如果是的话 不是真正的应用,那么我怀疑你能做到这一点。

也许你可以,一个简单的类别就足够了:

@implementation NSApplication(WantMediaKeysCategoryKBye)
- (void)sendEvent: (NSEvent*)event
{
    // intercept media keys here
}
@end

其他提示

您确定您的多媒体密钥在您的安装中正常工作吗?每个密钥都生成一个扫描代码,由内核翻译成密钥代码。如果xev没有显示任何密钥代码,我猜这些扫描代码没有映射,所以内核不知道它们。

http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys 对查找关键代码有很好的解释并提供有关如何查找原始扫描代码并将其转换为密钥代码的帮助。

xev 如果你想要帮助你找出多媒体密钥发送的代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top