Могут ли "упакованные приложения" Chrome реагировать на глобальные команды клавиатуры?

Я недавно перешел с Spotify на Google Music, но скучаю по наличию настольного клиента, который реагирует на команды клавиатуры. В частности, на моем ноутбуке есть мультимедийные клавиши, и мои пальцы продолжают выходить из них из мышечной памяти.

Медиа-ключи, найденные на изображениях Google

Чтобы исправить это (и другие раздражения), я превратил Google Play в упакованное приложение: " Упаковать все области"

К сожалению, я не могу найти документацию о том, как заставить упакованные приложения реагировать на сочетания клавиш. Это возможно? Не обязательно должны быть медиа-ключи (если они хитрые), но я бы предпочел, чтобы они срабатывали из любой точки ОС.

2 ответа

Решение

Начиная с chrome 25, есть команды chrome.com, а поскольку команды chrome 35 могут иметь глобальную область действия (см. заголовок "Область действия").

РЕДАКТИРОВАТЬ: я писал ранее, что команды api доступны только для расширений (но не для "упакованных приложений"), потому что в документах явно упоминаются только расширения - только что попробовал это в упакованном приложении, хотя и в BOOM - это работает:)

РЕДАКТИРОВАТЬ II: хотя в документах говорится, что "разработчик расширений ограничен указанием только Ctrl+Shift+[0..9] в качестве глобального ярлыка", я успешно попытался использовать "MediaPlayPause" в качестве глобального ярлыка на 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);
});

В настоящее время это невозможно в платформе. Идет работа, отслеживаемая этой ошибкой, для поддержки клавиш Media.

Если вы абсолютно хотите сделать это сейчас и не заботитесь о сложных требованиях пользователя, Борис Смус хорошо с этим справился, используя перехватчик встроенного ключа, который отправляет перехваченную команду через веб-сокет в приложение (расширение в его посте, но легко адаптируется к приложению).

Другие вопросы по тегам