Keycode >> ASCII

Sers.

Also ich bräuchte eine Funktion um aus einem Keycode das dazugehörige AscII Zeichen zu machen. Problem ist nämlich, wenn man direkt den Keycode als AscII interpretiert, funktionieren zwar die Zeichen A-Z und 1-9, aber ö,ä,punkt,komma,usw werden falsch interpretiert.
Im Internet wird immer gern die API-Funktion toAscii benutzt. Die erwartet allerdings dass man vorher die Funktion GetKeyboardState() aufruft und dann die 256 Bytes keycodes rumschaufelt. Ich möcht des ganze aber in nem Performancekritischen Bereich einsetzen und da hab ich an was einfacheres gedacht.
Habt ihr ne Idee oder komm ich da um ne Lookup Table nicht rum???

Plattform ist ausnahmsweise mal Windows ;)
 
EDIT:Verdammt hab die Frage falsch verstanden...Werd mal gucken ob ich ne Lösung finde und dann editieren
 
hm, wie liest Du die Keys ein? Eventuell wäre MapVirtualKey was für Dich (oder MapVirtualKeyEx)
 
Ich hab die Daten von nem KeyboardHook. Ich bekomm also den VirtualKeyCode. Hab die Funktion mal getestet und bei ö,ä,komma,punkt bekomm ich immer ne 0 zurück.... Als zweiten Parameter hab ich 2 genommen, müsste also passen.
A - Z usw funktioniert wie wenn ichs als ASCII einfach interpretiere.

[edit]
MapVirtualKey bringt also wirklich nix, habs heute nochmal probiert. Hab mich jetzt für die Lösung mit ToAscii entschieden. Habs mal getestet wie lang man da zum übersetzen in AscII braucht (mit QueryPerformanceCounter) und es geht ziemlich fix (Braucht genausolange wie ein PostMessage, zb).
 
Zurück
Oben