Это довольно прямой вопрос с ответом, который, кажется, очень трудно отследить.
Почему в 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#
Обнаружение нажатия и нажатия клавиши Print Screen на клавиатуре Приложение для тестирования VB NET VB.NET