Hallo, ja es wäre natürlich viel einfacher wenn AHK den String einfach als Zeichenkette senden würde und nicht versuchen würde die Zeichen aus dem Treiber durch Tastendrücke zusammen zu basteln. Aber wahrscheinlich gibt es auch Fälle, wo es sinnvoll ist Tastendrücke zu imitieren und nicht nur Text weiterzugeben.
Falls du den AHK soweit aufgepimpt bekommst, dass er diesen Bug nicht
mehr zeigt, wäre es nett wenn du uns daran teilhaben lässt.
Gruß Florian
P.S.: ToFu für die Liste.
Mirko Kunze schrieb am 24.05.2011 um 11:01 Uhr:
> Hallo!
>
> Danke für die Antwort!
>
> Ich verstehe nicht, warum es das macht...
> SendInput hat sowas garnicht nötig. Man kann schließlich auch Symbole
> senden, die nicht auf dem Tastatur-Layout vorhanden sind...
> Die Zwischenablage ist für mich immer ein verführerischer aber
> unangenehmer Weg. Wenn da mal 10MB drinliegen, werden die immer hin und
> her geschoben.
> Ich werde versuchen, mir eine DLL zu schreiben, die einen string via
> SendInput mit KEYEVENTF_UNICODE sendet. Ich denke, vorher schreibe ich
> einen Bugreport. Vielleicht wird ja SendUniInput eingeführt oder so.
>
> Vielen Dank nochmal!
>
> Gruß, Mirko
>
> Am 24.05.2011 00:35, schrieb Florian Janßen:
>> Hallo,
>>
>> tut mir leid, dass es da Probleme gibt. Ich denke der Fehler liegt bei
>> AHK. Ich kann dir auch sagen warum die Zeichen so merkwürdig
>> ausgetauscht werden:
>>
>> AHK sucht anscheindend in der gesamten Tastaturbelegung nach dem Zeichen
>> und sendet dann den Tastendruck zusammen mit dem entsprechenden
>> Modifiern.
>>
>> Leider kennt AHK weder Mod3 noch Mod4 und sendet daher nur die erste
>> Ebene:
>> Aus deinem Beispiel im Forum
>> abcdefgh 12345678 !"§$%&/()=?{[]}\+*~#'<>|
>> wird
>> abcdefgh 1,345t78 k,§ömq9nrfsalceuq0pü.hgä
>>
>> „abcdefgh 1“ liegen auf der 1. Ebene und wird richtig gesendet.
>> bei der „2“ findet AHK zuerst die „2“ auf der 4. Ebene von »,«
>> Da er AHK leider Mod4 nicht kennt und auch nicht weiter sucht sendet er
>> zwar die richtige Taste »,« leider ohne den notwendigen Modifier.
>>
>> Bei der „6“ und allen anderen läuft es ebenso ab und der AHK findet
>> zuerst die Belegung auf »t« bzw. den anderen auftauchenden Tasten.
>>
>> Ich kann dir leider nur einen Workaround anbieten:
>>
>> Bisher hast du es einfach¹ schreiben können, dabei kommt mit kbdneo2
>> leider z.B. „1,345t7890“ raus.
>>
>> ¹ ::alt::1234567890
>>
>> Wenn du nun die Struktur etwas umstellst und nach jedem HotString einen
>> Sprungbefehl einfügst und einen kleinen Umweg über die Zwischenablage
>> gehst, dann klappt es auch mit kbdneo:
>>
>> ::neu::
>> LangTxt:= "01234567890"
>> GoTo WriteForMe
>>
>> WriteForMe:
>> ClipBackup := ClipBoardAll
>> ClipBoard := LangTxt
>> ClipWait
>> Send ^v
>> Sleep, 50
>> ClipBoard := ClipBackup
>> return
>>
>> Gruß Florian Janßen
>>
>>
>>
>> Mirko Kunze schrieb am 23.05.2011 um 22:05 Uhr:
>>> PS: Bitte lasst mich in der Antwort als CC: stehen, weil ich diese
>>> Liste sonst nicht mitlese. Klickt also bitte auf »Allen antworten«
>>> bzw. »Reply all«!
>>
>>
>
>
signature.asc
Description: OpenPGP digital signature
