Ich erhalte gerade Meldungen aus bestimmten Regionen der Welt, dass einige Tasten in meinem Programm nicht funktionieren. Die Ursache ist klar: Ich benutze die Virtual Key Codes der Windows-Standardnachrichten, und die folgen dem aktuellen Tastatur-Layout.
Beispiel: WASD sind auf einer französischen Tastatur dort, wo hierzulande YQSD sind. Klar, dass das nicht klappen kann, denn ich bin ja nicht am Buchstaben interessiert, sondern nur an einer Taste an einer bestimmten Stelle.
Nun bekomme ich außer dem Virtual Key Code noch einen Scancode. Der scheint bei den meisten Tastaturen zumindest ähnlich zu sein (Nummerierung von links nach rechts). Klingt für mich nach der Lösung. Bevor ich aber blind drauflosimplementiere, würde ich gern wissen, ob ihr bessere Lösungen kennt / wie man das Problem normalerweise löst / auf was ich achten soll.
Dankeschön im Voraus & Gruß
Nachtrag: Hier wird erklärt, dass DirectInput Scan Codes benutzt, und damit auf allen Tastaturen außer Japanischen gut funktioniert: MSDN — Interpreting Keyboard Data
Kommt meinem Ziel sehr nahe …For DirectInput applications, keyboard data refers not to virtual keys but to the actual physical keys - that is, the scan codes.