¿Cómo capturo eventos de teclado mientras veo un video HTML5 en modo de pantalla completa?

Necesito saber cuándo el usuario presiona la tecla de escape cuando mira un video HTML5 en modo de pantalla completa. Desafortunadamente, los escuchas configurados en el documento no se aplican, ya que cuando el usuario está viendo un video HTML5 en modo de pantalla completa, el enfoque del sistema está en el reproductor de video nativo en lugar del navegador.

Una alternativa es escuchar cuando el enfoque regresa del reproductor de video nativo al navegador, pero no estoy seguro de cómo capturaría esto.

document.addEventListener('keydown', function (e) { console.log(e.keyCode); }, false);

Lo anterior se registra con éxito en la consola cuando presiono las teclas siempre que esté en el navegador. Tan pronto como un video HTML5 ingresa al modo de pantalla completa, obviamente el navegador ya no puede registrar códigos clave en la consola.

Lo que estoy tratando de hacer es pasar de una interfaz de usuario a otra después de salir del modo de pantalla completa.

EDITAR

La respuesta de Potench fue útil como punto de partida, por lo que la acepté como respuesta a pesar de las siguientes advertencias:

Solo funciona en los navegadores webkit. :-)Como se definió originalmente no funciona desdevideo.webkitDisplayingFullscreen estrue cuando elresize evento de incendios.

Conseguí que esto funcionara, solo en los navegadores Webkit, al tocar los cuadros de animación para observar constantemente el cambio de valor:

var onFrame, isVideoFullscreen;

onFrame = window.requestAnimationFrame ||
          window.mozRequestAnimationFrame ||
          window.webkitRequestAnimationFrame ||
          window.oRequestAnimationFrame ||
          window.msRequestAnimationFrame ||
          function (fn) {
              setTimeout(fn, 1000 / 60);
          };

isVideoFullscreen = false;

function frame() {
    if (!isVideoFullscreen && video.webkitDisplayingFullscreen) {
        // entered fullscreen mode
        isVideoFullscreen = true;
    } else if (isVideoFullscreen && !video.webkitDisplayingFullscreen) {
        // exited fullscreen mode
        isVideoFullscreen = false;
    }
    onFrame(frame);
}
onFrame(frame);

Respuestas a la pregunta(1)

Su respuesta a la pregunta