Chrome“打包应用”可以响应全局键盘命令吗?

时间:2013-08-13 15:23:44

标签: keyboard-shortcuts google-chrome-app media-keys

我最近从Spotify切换到了Google音乐,但却错过了一个响应键盘命令的桌面客户端。特别是,我的笔记本电脑有媒体键,我的手指不会让肌肉记忆力消失。

Media keys found on google images

为了解决这个问题(以及其他烦恼),我将Google Play变成了一个打包的应用:“Package All Areas

不幸的是,我似乎无法找到有关获取打包应用程序以响应键盘快捷方式的任何文档。 这可能吗?不一定是媒体密钥(如果它们很棘手),但如果它们是从操作系统的任何地方触发的话,我更喜欢它。

2 个答案:

答案 0 :(得分:3)

因为chrome 25,有chrome.commands,因为chrome 35命令可以具有全局范围(请参阅标题' Scope')。

编辑: 我之前发布的命令api仅适用于扩展程序(而不适用于打包的应用程序'),因为文档中只明确提到了扩展程序 - 只是在打包的应用程序上尝试过,然后是BOOM - 它工作:))

编辑II:虽然文档声明"扩展程序开发人员仅限于仅指定Ctrl + Shift + [0..9]作为全局快捷方式",我成功尝试使用' MediaPlayPause&#39 ;作为OSX上的全局快捷方式(感谢用户Xan指示我)

的manifest.json:

  "app": {
    "background": {
      "scripts": ["main.js"]
    }
  },
  "commands": {
    "toggle-feature-foo": {
      "suggested_key": {
        "default": "Ctrl+Shift+5"
      },
      "description": "Toggle feature foo",
      "global": true
    }
  }

main.js:

chrome.commands.onCommand.addListener(function(command) {
    console.log('command:',command);
});

答案 1 :(得分:1)

目前这在平台中是不可能的。正在进行的工作由this bug跟踪,以支持媒体密钥。

如果您现在绝对想要这样做并且不关心复杂的用户需求,Boris Smus有a good take on this,使用本机密钥拦截器通过websocket将拦截的命令发送到应用程序(发布,但很容易适应应用程序。)