You can solve most of the problems by using this tip:

It is basically about installing a userscript (using TamperMonkey or something similar) which intercepts the escape key press.

I have installed this script and it works for most pages. With the exception of previewing attachments in Gmail:

// ==UserScript== // @name Keep Full Screen // @namespace // @description Prevents Escape key from leaving full screen. // @include * // ==/UserScript== document.onkeydown = function (evt) { if (evt.keyCode == 27) { evt.preventDefault(); console.log('There is no escape'); } };