Vorgesehen Hotkey-Funktion: Zeichen Capitalize wenn Taste länger als 0,2 Sekunden gedrücktLang drücken = Capitalize
Problem Auftretende: Wenn in einer schnellen Art und Weise "VBNM" in einer Reihe eingeben (was bedeutet, dass ich Drücken Sie die nächste Taste, während Sie die vorherige Taste gedrückt halten), dann gibt AHK nur x-mal die Taste aus, die zuerst gedrückt wurde, was hier zu "vvvv" führt.
, dass der Code ist. Bitte helfen Sie mir (y) :-)
$y::
$x::
$c::
$v::
$b::
$n::
$m::
key := SubStr(A_ThisHotkey, 2)
;MsgBox, %key% ;it recognizes/shows all keys pressed correctly,
;but in the end it prints just x-times the key that was pressed first
;whereby x is the number of keys pressed very quickly in a row
KeyWait, %key%, T0.2 ;Long press = capitalize
If ErrorLevel
SendInput +%key%
Else
SendInput %key%
Return
Glücklich Ihre Antwort zu hören! Dein Skript macht einen Unterschied. Die Eingabe von „VBNM“ führt nicht in „ww“ mehr, sondern in „mnbv“, so dass es jedes Zeichen senden, sondern nur in der falschen Reihenfolge. Den Code in eine separate Funktion zu setzen, war die Lösung. Durch das Hinzufügen von "critical" werden die Zeichen wieder in die richtige Reihenfolge gebracht, und jetzt scheint es zu funktionieren. Zwei Dinge sind noch nicht ganz befriedigend: Erstens, deutsche Umlaute schreiben, Sondertasten oder Zahlen, aber ich habe es gelöst. Zweitens, drücken Sie eine Taste zu lang und es wird nicht nur die Großbuchstaben ausgegeben, sondern auch die Normale, zum Beispiel "Oo". – EssenceBlue