Bonne année à tous.

J'aurai besoin de créer une fonction qui me convertisse un scancode provenant d'un clavier non qwerty vers un qwerty.

Exemple simple :
J'ai un clavier azerty
je lui donne le scancode de 'a' : 30
je veux qu'il me retourne le scancode de 'q' : 16

J'ai trouvé une solution presque parfaite en utilisant la fonction de user32.dll : MapVirtualKey
l'idée etant de convertir mon scancode en virtualkey puis mon virtualkey en scancode sans lui préciser quel est mon clavier. Ca marche sauf que MapVirtualKey n'est pas capable de convertir un virtualkey => scancode en tenant compte des touches gauche et droite.

Exemple du probleme :
Avec cette methode, si je lui donne le scancode RControl, elle me retournera LControl

Quelqu'un aurait il un tuyau à me fournir?

Merci.