Quote: "I don't want to make a great game and all a sudden someone tells me that the keys 'w','a','s' and 'd' don't move the player around but some other random set does."
On a French keyboard WASD becomes ZQSD. It's not really much of a problem with control schemes like that (the actual key positions are correct for the scan codes, they just have different letters), the problem arises when you tell the player to press key
X which can possibly be a different key on their keyboard. However, in this scenario you can obtain the key name for that particular scan code:
load dll "user32.dll", 1
print GetKeyName(17) ` W on a US/UK keyboard, Z on a French keyboard
wait key
end
function GetKeyName(sCode as integer)
name$ = space$(64)
if not call dll(1, "GetKeyNameTextA", sCode << 16, name$, 64) then name$ = ""
endfunction name$