Windows 8 захватывает Play / Pause медиа-ключ

533
torvin

Похоже, Windows 8 захватывает ►❚❚медиа-клавишу: когда я нажимаю эту клавишу, она переходит непосредственно к системному медиаплееру по умолчанию.

Например, если у меня работает WMP, он обрабатывает клавишу Play / Pause, даже когда он не сфокусирован, игнорируя активную в данный момент программу. Если у меня не работает WMP, кнопка «Воспроизведение / Пауза» просто игнорируется в других приложениях!

Этот ответ показывает, что вы можете изменить программу, на которую ►❚❚идут все нажатия клавиш, назначив ее в качестве медиаплеера по умолчанию.

Но есть ли способ полностью отключить эту функцию?

Сначала я подумал, что Windows Explorer регистрирует горячую клавишу, но я могу успешно вызвать RegisterHotKeyс VK_MEDIA_PLAY_PAUSE: он не возвращает код ошибки. Это означает, что он не был зарегистрирован как горячая клавиша раньше. Но мое приложение все еще не получает никаких входных событий на нем.

В идеале я хотел бы вернуть его к поведению до Win8: чтобы любое целевое приложение получало его, если оно не зарегистрировано как горячая клавиша каким-либо другим приложением - тогда оно должно перейти в это приложение.

Есть ли для этого настройки?


Как воспроизвести : зайдите на pleer.com и начните играть любую песню. Затем нажмите клавишу ►❚❚мультимедиа на клавиатуре, когда браузер сфокусирован. До Win8 все заработало: музыка остановилась. Это больше не работает для меня на Windows 8.

1
В Vanilla Windows 8.1 такого поведения нет. Возможно, у вас установлен сторонний драйвер клавиатуры? Daniel B 8 лет назад 0
Кроме того, какой браузер вы используете? Daniel B 8 лет назад 0
@ DanielB ты хочешь сказать, что это работает для тебя на Windows 8.1? Я вижу такое поведение на нескольких разных ПК с разными клавиатурами. Дополнительные драйверы не установлены. Браузер - FF43, но это не имеет значения, поскольку он не работает ни в одном другом приложении. torvin 8 лет назад 0
О да, это определенно работает. Я использую портативную установку foobar2000, которая нигде не зарегистрирована. Firefox реагирует на клавишу «Воспроизведение / Пауза» способом, который не совместим с этим сайтом - `keyCode` равен` 0`. Попробуйте Chrome. Daniel B 8 лет назад 0
@DanielB Я думаю, ты прав. Я просто попытался зарегистрировать горячую клавишу на моем домашнем компьютере с Win8.1, и это сработало. Похоже, проблема не в самой Win8. Я проверю проблемные установки более внимательно. Еще раз спасибо! Если вы отправите ответ, я приму его. torvin 8 лет назад 0
Глупое предложение, но вы пробовали `fn` +` the-play-key` ... rahuldottech 8 лет назад 0

1 ответ на вопрос

1
Daniel B

Я использую портативную установку foobar2000 (что означает отсутствие регистрации / интеграции) с мультимедийными ключами в Windows 8.1, поэтому такого поведения точно не существует. Еще хуже: когда открыто несколько игроков, иногда все они ловят ключ.

Веб-сайт, которым вы пытаетесь управлять, прослушивает код ключа 179( nano.js, строка 5123). Однако, когда Firefox сообщает о событии «Play / pause» на странице, он сообщает о коде ключа 0и вместо этого использует специальное имя. Chrome сообщает о событии с кодом 179, так что он, вероятно, будет работать там.