Apple Touch Bar keys not firing keypress event

2.1k Views Asked by At

Is there another event I can listen for when I want to listen for an Apple Touch Bar keypress? Specifically, I would like to listen for the Escape keypress event.

My code is working on "regular" keyboards, with actual escape keys, but not with the Touch Bar.

listenForKeypressEvent = (e) => {
    console.log(e);
    if (e.keyCode === 27 || e.key === "Escape") {
        // do the things
    }
}

window.addEventListener('keypress', listenForKeypressEvent);
2

There are 2 best solutions below

1
On

Using keydown instead of keypress works.

window.addEventListener('keydown', listenForKeypressEvent);
0
On

Not sure why but in my case keyup worked fine for me

window.addEventListener('keyup', listenForKeypressEvent);