Мультимедийные клавиши

Клавиатура Microsoft Natural Keyboard Pro
Android-планшет и его клавиатура. Вместо функциональных клавиш — мультимедийные.

Мультимедийные клавиши были предложены компанией Microsoft в 1999 году в клавиатуре Natural Keyboard Pro. В то время Windows была преобладающей потребительской ОС, и эти клавиши прочно вошли в нашу компьютерную жизнь, и с тех пор их набор не изменился. В частности, клавиатуры Logitech и Razer с энкодерами-крутилками имитируют нажатие клавиш громкости.

Новую жизнь они приобрели в операционной системе Android: в ней функциональные клавиши обычно не работают, зато мультимедийные широко используются в клавиатурах для Android-планшетов, пультах для Android-медиаплееров (по факту это тоже аппаратные клавиатуры[1]).

Список клавиш

Все скан-коды расширенные: в PC/XT нажатие регистрируется как E0 xx, отпускание — E0 (xx+80). В PC/AT — нажатие E0 xx, отпускание — E0 F0 xx.

Одни из этих клавиш вообще не передаются прикладному ПО, считываются только через прерывание клавиатуры и являются, по сути, клавишами системных вызовов. Другие — считываются через необычные системные вызовы. Генерация этих клавиш функциями наподобие SendInput в Windows работает, при этом, по традиции Windows, скан-коды берутся из столбца «XT».

В ноутбуках клавиши громкости чаще всего скан-кодов не имеют и работают нестандартным образом. Связано это с тремя вещами: регулировать звук потребовалось раньше, чем появилась клавиатура Microsoft; вплоть до Windows 10 не было надлежащей индикации громкости; нестандартный интерфейс при регулировании громкости и яркости — часть стиля ноутбука.

Название Скан-код (hex) Метод считывания
прикладным ПО (Windows)
Поведение
в Android
XT AT
Управление медиаплеером
Громкость + 2E 21 Не считываются Управление громкостью
Громкость − 30 32
Звук вкл/откл 20 23
Пуск/пауза 22 34 WM_APPCOMMAND За прикладным ПО
Остановить 24 3B
Предыдущий трек 10 15
Следующий трек 19 4D
Управление браузером
Поиск 65 10 WM_APPCOMMAND За прикладным ПО
Домашняя страница 32 3A
Назад 6A 38 ◁ (назад)
Вперёд 69 30 За прикладным ПО
Стоп 68 28
Обновить 67 20
Закладки 66 18
Запуск программ
Медиаплеер 6D 50 Не считываются Вызов Play-Музыки (или другого медиаплеера)
Электронная почта 6C 48 Вызов почтовой программы
Калькулятор 21 2B За прикладным ПО
Мой компьютер 6B 40 ◯ (основной экран)
Не являются мультимедийными, но также действуют в Android
Windows (левая) 5B 1F Не считываются Вызов программы «Google»
Windows (правая) 5C 27
Menu 5D 2F WM_CONTEXTMENU Меню программы
Power 5E 37 Не считываются ⏻ (кнопка питания)
Sleep 5F 3F Экран блокировки
Alt+Tab (переключение между программами)
Print Screen[2] 2A 37 12 7C Снимок экрана

Примечания

  1. Android рассчитан на управление с сенсора, даже мышь там только однокнопочная и имитирует сенсор, а ввод текста — экранной клавиатурой. Потому про настоящую клавиатуру с клавишами говорят «аппаратная клавиатура».
  2. Нажатие обрабатывается как нажатие двух расширенных клавиш в прямом порядке; отпускание — как отпускание этих же клавиш в обратном порядке.