Dead-Keys bei LowLevelKeyboardHook



  • Hallo zusammen,

    Ich habe schon seit längerem ein Problem mit ToAscii() das ich durch googeln, ausprobieren, studieren und nachschlagen nicht lösen konnte. Es geht dabei um die Dead-Keys (^, `, ¨, u.s.w.) bei einem LowLevelKeyboardHook das in Folge eines weiteren Tastendrucks jeweils 1 spezielles oder 2 Zeichen anzeigen soll.

    ^ und o -> ô
    ^ und k -> ^k

    Drücke ich jetzt aber ^ und lasse den vkCode durch ToAscii() laufen, flusht er den Dead-Key und im Zielfenster treten dann 2 Dead-Keys auf - spezielle Zeichen sind auch nicht mehr möglich:

    ^ und o -> ^^o
    ^ und k -> ^^k

    Ich würde mich wirklich freuen wenn jemand Rat weiss. Bin nämlich ziemlich verzweifelt weil ich bisher noch niemand finden konnte der mir helfen kann.

    Grüsse,
    bleed_ch



  • Hast Du schon mal ToUnicodeEx versucht?
    http://msdn.microsoft.com/en-us/library/ms646322(VS.85).aspx



  • Herzlichen Dank für deine Antwort, hab mich richtig gefreut...

    Yep, habe ich. So auch bei: ToAscii, ToAsciiEx, ToUnicode, ToUnicodeEx. Alles funktioniert perfekt bis auf die Dead-Keys und die Lösung will sich einfach nicht zeigen.

    Das Ding ist ja, diese Funktionen returnen bei Dead-Keys -1, bei Keys die nicht anzeigbar sind (wie CTRL, ALT, u.s.w.) 0, bei normalen Chars 1 und bei Chars in folge eines Dead-Keys 2 (^ und danach k => ^k). Nur funktioniert es wirklich nicht - ich habe noch nie 2 erhalten. Er flusht nach dem ersten Aufruf der Funktion sofort die Dead-Keys und printed sie im Zielfokus doppelt...

    ^ und k => ^^k

    Lasse ich die Funktion weg, funktioniert alles Regulär - als ob nach dem Hook die Funktion ebenfalls aufgerufen wird... Weisst du vielleicht weiter?

    Grüsse,
    bleed_ch



  • Doppeltes aufrufen der Funktion hilft bei dieser Problematik


Anmelden zum Antworten