Salut Falsounet,
Ton problème vient, je pense, du fait que PB considère le clavier comme étant par défaut en QWERTY. En utilisant MapVirtualKeyEx_() à la place de MapVirtualKey_(), tu peux forcer le code "langage" :
Code : Tout sélectionner
Debug Hex(GetKeyboardLayout_(0),#PB_Word)
kbdLyt=GetKeyboardLayout_(0)
Debug Chr(MapVirtualKey_(#PB_Key_A, 1))
Debug Chr(MapVirtualKeyEx_(#PB_Key_A, 1,kbdLyt))
Debug ""
Debug "QWERTY forcé"
Debug Chr(MapVirtualKeyEx_(#PB_Key_A, 1,$0409))
Debug Chr(MapVirtualKeyEx_(#PB_Key_Z, 1,$0409))
Debug Chr(MapVirtualKeyEx_(#PB_Key_Q, 1,$0409))
Debug Chr(MapVirtualKeyEx_(#PB_Key_S, 1,$0409))
Debug Chr(MapVirtualKeyEx_(#PB_Key_W, 1,$0409))
Debug ""
Debug "AZERTY (par défaut sur mon clavier)"
Debug Chr(MapVirtualKeyEx_(#PB_Key_A, 1, kbdLyt))
Debug Chr(MapVirtualKeyEx_(#PB_Key_Z, 1, kbdLyt))
Debug Chr(MapVirtualKeyEx_(#PB_Key_Q, 1, kbdLyt))
Debug Chr(MapVirtualKeyEx_(#PB_Key_S, 1, kbdLyt))
Debug Chr(MapVirtualKeyEx_(#PB_Key_W, 1, kbdLyt))
Code : Tout sélectionner
40C
Q
Q
QWERTY forcé
A
Z
Q
S
W
AZERTY (par défaut sur mon clavier)
Q
W
A
S
Z
Les codes Layout Clavier de Microsoft son visibles sur
ce lien