Могут ли "упакованные приложения" Chrome реагировать на глобальные команды клавиатуры?
Я недавно перешел с Spotify на Google Music, но скучаю по наличию настольного клиента, который реагирует на команды клавиатуры. В частности, на моем ноутбуке есть мультимедийные клавиши, и мои пальцы продолжают выходить из них из мышечной памяти.
Чтобы исправить это (и другие раздражения), я превратил 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.
Если вы абсолютно хотите сделать это сейчас и не заботитесь о сложных требованиях пользователя, Борис Смус хорошо с этим справился, используя перехватчик встроенного ключа, который отправляет перехваченную команду через веб-сокет в приложение (расширение в его посте, но легко адаптируется к приложению).