Почему в Javascript нет события нажатия клавиши для PrintScreen?

Это довольно прямой вопрос с ответом, который, кажется, очень трудно отследить.

Почему в javascript нет события нажатия клавиши для экрана печати?

Я попытался просмотреть некоторые исходные коды Firefox, чтобы увидеть, не обрабатывает ли он VK_SNAPSHOT по-другому намеренно, чтобы сделать его неуловимым по дизайну, но я ничего не нашел.

Кажется, что это довольно далеко заходит в стеке ОС Windows, поскольку C# также разделяет эту проблему (Событие KeyDown не работает с ключом PrintScreen) В этом ответе упоминается, что «экран печати перехвачен ОС», но не предоставляется никакой документации для этого утверждения. Я пытался погуглить, но не смог найти никакой подтверждающей документации.

Событие нажатия клавиши на экране печати обрабатывается непосредственно ядром и никогда не затрагивает пользовательскую землю, как прерывание Ctrl-alt-delete? Это происходит в драйвере клавиатуры, и другой драйвер клавиатуры может передать его вверх по стеку в javascript? Я далеко от базы, и javascript может перехватить событие нажатия клавиши, и этот вопрос теперь выглядит действительно глупо?

(Кроме того, пытаясь найти ответ на этот вопрос, я наткнулся на эту интересную статью, которая немного рассказала мне об истории кнопки SysRq — http://royal.pingdom.com/2012/06/26/sysadmin-needs-sysrq-magic/)


Список ссылок на вопросы со словами «не знаю, почему, но...»

Событие KeyDown не работает с клавишей PrintScreen c#

https://gamedev.stackexchange.com/questions/20446/does-vk-snapshot-not-send-a-wm-keydown-only-wm-keyup C-язык?

Обнаружение нажатия и нажатия клавиши Print Screen на клавиатуре Приложение для тестирования VB NET VB.NET


person Scott    schedule 06.06.2016    source источник
comment
Кажется, проблема с окнами, происходит и с java: bugs.java. com/bugdatabase/view_bug.do?bug_id=4455060 . Кажется, единственным способом было бы захватить keyup   -  person juvian    schedule 06.06.2016
comment
@juvian, я согласен, что это похоже на стек Windows, но обычно можно найти документацию об этих вещах. Мне просто любопытно, где в стеке окон это происходит. Насколько я помню, ctrl-alt-del — единственная клавиатурная команда уровня ядра, не относящаяся к пользовательскому режиму. Если есть еще, я хотел бы узнать о них.   -  person Scott    schedule 06.06.2016
comment
Ничего не удалось найти, но, похоже, вы можете захватить его на некоторых языках, переопределив способ обработки ключевых событий: stackoverflow.com/questions/24325511/   -  person juvian    schedule 06.06.2016