keydown, keyup, keypress
HTML
<span id="state-msg"></span>
JavaScript
var down = [];
var msg = document.getElementById('state-msg');
document.body.addEventListener('keydown', function(e) {
e.stopPropagation(); e.preventDefault();
var key = e.code;
if(down.indexOf(key)==-1) down.push(key);
msg.textContent = JSON.stringify(down);
});
document.body.addEventListener('keyup', function(e) {
e.stopPropagation(); e.preventDefault();
var key = e.code;
down.splice(down.indexOf(key),1);
msg.textContent = JSON.stringify(down);
});