<style>dialog { box-shadow: 0 0 0 100vmax rgba(0,0,0,.1); }</style>
<script>
document.onkeydown = document.onkeyup = function(event) {
if(event.keyCode === 13) return;
var dialog = document.createElement("dialog");
dialog.innerHTML = "<div>" + event.type + " " + event.key + "</div>";
var closeButton = document.createElement("button");
closeButton.onclick = function() { dialog.close(); dialog.remove(); };
closeButton.textContent = "Закрыть";
dialog.appendChild(closeButton);
document.body.appendChild(dialog);
dialog.show();
}
</script>
Вообще-то происходят оба события, просто когда открывается блокирующий alert, то второе событие теряется