Oi, Carlos!
Sem pretender contradizer a resposta do Antonio, note que o objeto [key] te dá acesso a um monte de teclas além das alfanuméricas: tab, esc, del, backspace, espaço, teclas de pontuação e sinais gráficos ('"[]{},.<>;/:?-=_+). Além disso no help do [key] você encontrará a descrição do objeto [keyname], que te permite identificar as teclas de função, shift L/R, alt, ctrl L/R, insert, home, end, page up/down, scroll lock, pause... então não me parece que faltem teclas para implementar uma infinidade de funções adicionais/opcionais sem sacrificar a quantidade de notas disponíveis (que me parece que já é pequena... pelo menos para quem estiver usando o teclado qwerty).
A motivação para definir a priori a função das teclas alfanuméricas era termos uma especificação comum onde todos na turma soubessem como usar os programas dos demais sem precisar ler instruções (lembrem-se que após a data limite quem quiser postar sua solução no fórum é muito bem-vindo a fazê-lo). O que você quiser implementar de funções extra não precisa então necessariamente violar esta especificação, basta pra isso usar teclas cuja função não foi especificada.
No caso da sugestão do antônio, de usar escalas diferentes em cada uma das linhas do teclado, isso é bem interessante. Seria possível usar as fileiras de teclas até o final (da parte alfabética) ao invés de apenas as 4 ou 5 primeiras, aumentando assim a quantidade de notas disponíveis para as pessoas tocarem.
Abraço,
Marcelo