我想写一个Songbird扩展名绑定所有Apple Mac OS X平台上可用的多媒体键。不幸的是,这不是一个简单的谷歌搜索,我找不到任何文档。
有人能指出我访问这些密钥的资源或告诉我该怎么做吗?
我有丰富的编程经验,但这将是我第一次使用MacOSX和XUL(Firefox等)进行编码,因此欢迎任何提示。
请注意,这些不是常规的关键事件。我认为它必须是我需要挂钩或订阅的不同类型的系统事件。
答案 0 :(得分:2)
此博文有一个解决方案:
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 :(得分:1)
您确定您的多媒体密钥在您的安装中正常工作吗?每个密钥都生成一个扫描代码,由内核翻译成密钥代码。如果xev没有显示任何密钥代码,我猜这些扫描代码没有映射,所以内核不知道它们。
http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys对查找关键代码有很好的解释,并提供有关如何查找原始扫描代码并将其转换为关键代码的帮助。
答案 2 :(得分:0)
xev
可能对您有所帮助。