, как указано в других ответах, нет никакого onkeyfirstdown или подобного события для прослушивания.
лучшее решение - отслеживать, какие ключи уже недоступны в js-объекте:
var keysdown = {};
element.addEventListener('keydown', function(evt) {
if(!(evt.key in keysdown)) {
keysdown[evt.key] = true;
// key first pressed
}
});
element.addEventListener('keyup', function(evt) {
delete keysdown[evt.key];
});
таким образом, вы не будете пропускать события 'keyfirstpressed', если удерживается более одной клавиши.
(многие другие решения, опубликованные здесь, будут срабатывать только тогда, когда другие клавишивниз).