Com base em outro curso que assisti aqui na Alura, montei o script de uma forma que eu considerem bem mais enxuta e que resolve alguns problemas de verificação sem necessitar dos ifs. Vou deixar o código aqui e qualquer feedback é válido :D
const buttons = document.querySelectorAll(".tecla");
buttons.forEach((elemento) => {
elemento.addEventListener("click", (button) => {
const className = button.target.classList[1];
document.querySelector(`#som_${className}`).play();
button.target.onkeydown = (evento) => {
if (evento.code === "Space" || evento.code === "Enter") {
button.target.classList.add('ativa');
}
};
button.target.onkeyup = (evento) => {
if (evento.code === "Space" || evento.code === "Enter") {
button.target.classList.remove('ativa');
}
};
});
});