JavaScript, обнаруживающий клавиатуру воспроизведения / паузы (виртуальную) - PullRequest
0 голосов
/ 12 июня 2019

Случайно я просто нажал кнопку воспроизведения / паузы ( ▶ / ❚❚ ) на своей клавиатуре (кнопка чуть выше Num Lock на Lenovo keyboard, при воспроизведении видео YouTube на вкладке, которая не была сфокусирована. К моему огромному удивлению, видео YouTube немедленно остановилось.

Теперь я попытался посмотреть, как это работает, но не смог найтичто-нибудь в интернете, объясняющее, как можно обнаружить нажатие клавиш для таких клавиш. Я попытался запустить onkeydown = function(e) {console.log(e)} в своей консоли, но нажатие кнопки воспроизведения / паузы не вызвало никакого события. Кроме того, https://keycode.info/ не далЯ также помог с этим. Я нашел http://www.kbdedit.com/manual/low_level_vk_list.html, в котором перечислены все «коды виртуальных клавиш», в том числе VK_MEDIA_PLAY_PAUSE, что, вероятно, является клавишей, которую я нажимаю, но я не нашел ни однойспособ вызвать событие в JS с этим.

Теперь я хочу указать, что эта функциональность, кажется, не работает в Firefox, только в Chrome (насколько я тестировал). Это может быть что-тоэто все еще экспериментально, но мне действительно интересно услышать, какую систему YouTube использует для захвата этого события, даже когда вкладка в данный момент не открыта (Chrome даже не был в данный момент сфокусирован)

PS: я испытал это на Ubuntu 18.04;Я не уверен, если это будет работать на Windows, например.

1 Ответ

1 голос
/ 12 июня 2019

Chrome отвечает за это (Hardware Key Key Handling), для получения более подробной информации ознакомьтесь с chrome: // flags / # hardware-media-key-processing

Также здесь есть ссылка, которая содержит документы и демонстрацию:https://www.chromestatus.com/feature/5639924124483584

...