Действия по воспроизведению:
Посетите эту страницу. Это JSFiddle, состоящий полностью из
window.onkeydown = function(e) { e.preventDefault(); };
Щелкните внутри серой области под белой верхней панелью, чтобы выделить основной участок.
Нажмите Ctrl+Z, чтобы войти в режим Pass Through.
Нажмите Esc. Это не удастся, потому что ключ перехватывается JavaScript и никогда не отправляется в Pentadactyl.
Это легко устранить в примере, нажав на верхнюю панель, чтобы переместить фокус в область, содержащую onkeydown
, что позволит Escape пройти и выйти из режима Pass Through. Тем не менее, я работаю с сайтом, который перехватывает все нажатия клавиш (с помощью preventDefault
) через window.onkeydown
, поэтому некуда перенести фокус.
Единственное решение, которое мне удалось найти, - это создать новую вкладку и затем закрыть ее (d
). Однако это требует использования мыши (так как ярлык t
больше не работает, потому что мы в режиме Pass Through), и это обходной путь.
Есть ли способ выйти из режима Pass Through, используя только клавиатуру, на сайте, который перехватывает все нажатия клавиш?