J´ai retrouvé un vieux truc que j´avais fait pour le clavier AZERTY. A la base, cependant, il n´est pas terminé, mais tu peux te servir des fonctions déja.
Comme tu vois, les fonctions SDL ne sont pas branchées, mais ça peut te donner une idée.
http://www.rafb.net/paste/results/B02FXo79.html
Pour une photo de clavier QWERTY, tape simplement QWERTY sous google image.
Sinon, en ce qui concerne les malloc, on m´a souvent obligé d´utiliser les malloc. Et au boulot souvent, je dois utiliser du code fait il y a fort longtemps en C... Donc dans certains cas, ça alterne joyeusement les new et les malloc (la on dégueule tous un grand coup) c´est pour ça qu´il faut bien faire gaffe a ne pas deleter un truc fait avec malloc, ni faire un free d´un truc alloué avec new...
A propos, pour ceux qui ne connaissent pas la différence fondamentale entre new et malloc (qui peut poser des soucis), regardez mon tuto chapiter G.? - difference entre new et malloc 