Schwierigkeiten mit Auto hotkey

Vip- Robbe

Cadet 3rd Year
Registriert
Juni 2017
Beiträge
39
Hallo habe mir schon unzählige auto hotkey tutorials reingezogen . Sehe aber immernoch nicht durch .

Ich möchte einfach nur die Pfeiltasten mit WASD tauschen .
Und WAS auf den Ziffernblock 845 legen sowie D auf ; legen .

Wäre ungeheuer Dankbar wenn mir jmd den code dafür posten könnte das script erstellen bekom ich schon alleine gebacken . Notfalls wäre ich für ne genaue anleitung auch zufrieden .

Vielen Dank
 
Hi, hier kannst du nachschauen wie alle Tasten heißen: https://ahkde.github.io/docs/KeyList.htm

Wenn du wirklich nur die genannten Tasten ersetzen willst, dann klappt das am besten folgendermaßen:
So wird w durch Up (Pfeil nach oben) ersetzt, Up behält aber seine ursprüngliche Funktion bei. Dies kannst du mit all deinen genannten Tasten machen. ; ist aber korrekterweise , sonst klappt es nicht.

Wenn du es mit dieser Hilfestellung nicht selbst schaffst, dann frag einfach noch einmal nach.
 
jo danke ich denke das wird schon reichen :)
Ergänzung ()

Juhuuu !! Es hatt geklappt nur wie kann ich es jetzt nur an und abschalten ???

Wäre cool wenn ich noch eine Taste einbauen könnte mit der ich das Ganze einfach an und ausschalten könnte um zwischendurch normal schreiben zu können
 
Zuletzt bearbeitet:
Ja das kann man auf verschieden Arten erreichen. Ich würde diese Direktiv verwenden: http://ahkde.github.io/docs/commands/_If.htm

Dadurch sind die Hotkeys nur aktiv, wenn die Bedingung erfüllt ist.

Beispiel:
F1:: hk_active := !hk_active

#If hk_active
; Hotkeys die von der Direktive beeinflusst werden
In diesem Beispiel kann man die Hotkeys unter der Direktive mit F1 aus- und anschalten - anfangs sind sie aus. hk_active ist einfach nur eine Hilfsvariable die zwischen 0 und 1 bzw. true und false umgeschaltet wird und so die Direktive wahr oder unwahr macht.
 
habe es nicht gebacken bekommen ! :(

mein script sieht nun wie folgt aus :

F1:: hk_active := !hk_active
#If hk_active
:w::up
:a::Left
:s::Down
:d::Right
:Numpad8::w
:Numpad4::a
:Numpad5::s
:Numpad6::d

aber es funzt nicht mit F1 an und aus
:(
 
Du hast Doppelpunkte zu viel. So ist es richtig:

Code:
F1:: hk_active := !hk_active
#If hk_active
w::Up
a::Left
s::Down
d::Right
Numpad8::w
Numpad4::a
Numpad5::s
Numpad6::d
 
Habe es nun wie folgt drinne !

F1:: hk_active := !hk_active
#If hk_active
w::up
a::Left
s::Down
d::Right
Numpad8::w
Numpad4::a
Numpad5::s
Numpad6::d

und es klappt wieder nicht ! :(
 
Was genau klappt nicht? Die Numpad-Tasten kann ich nicht testen, weil ich kein Numpad am Laptop habe - der Rest klappt bei mir aber. Sprich: wenn das Skript nur aus dem genannten Code besteht funktioniert es. Wenn dein Skript noch aus mehr besteht, dann muss der Fehler woanders liegen.

Edit: Jetzt sehe ich, was du meinst. Weil Numpad8 w auslöst usw., was selbst ein Hotkey ist kommt es zu Problemen.

Um dieses Verhalten zu verhindern, also dass die Hotkeys sich gegenseitig auslösen wollen, kannst du ein InputLevel festlegen, das ist auch eine Direktive:
Code:
F1:: hk_active := !hk_active

#If hk_active
#InputLevel 1
w::Up
a::Left
s::Down
d::Right

#InputLevel 0
Numpad8::w
Numpad4::a
Numpad5::s
Numpad6::d

Hotkeys mit Inputlevel 0 können Hotkeys mit Inputlevel 1 nicht aktivieren usw.
 
Zuletzt bearbeitet:
Zurück
Oben