An und Auschalten der Keys

  • Hallo,

    ich habe da mal eine Frage also ich habe vor einen Keybinder zu machen will diesen aber an und wieder ausschalten können. Ich habe es auch schon hingekriegt das ich Das quasi An und Ausschalten kann also per If abfrage. Jetzt ist es aber so wenn ich die Variable auf 1 also An setzte dann funktioniert das auch. Wenn ich auf 0 Setzte dann gehts auch also das wenn ich die Taste drücke nichts kommt aber ich kann die Taste auch nicht mehr normal nutzen. Hier mal etwas Code damit ihr wisst was ich meine.

    [autoit]


    HotKeySet("^o", "KeyOn")
    HotKeySet("^f", "KeyOff")
    HotKeySet("1", "K1")

    [/autoit][autoit][/autoit][autoit]

    Dim $KeyOnOff = 0

    [/autoit][autoit][/autoit][autoit]

    Func KeyOn()
    $KeyOnOff = 1
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func KeyOff()
    $KeyOnOff = 0
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func K1()
    If $KeyOnOff = 1 Then
    Send("Hallo")
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit]

    Kann mir jemand erklären wie ich das hinkriege das ich die Tasten dann auch wieder normal nutzen kann.

    MFG
    Xtreame

  • Hmm ok aber wie soll ich dem Hotkey dann eine Funktion zuweisen. Oder habe ich da jetzt nen denkfehler bei.

    EDIT: OK ich hätte überlegen sollen. Habe es jetzt hingekriegt. Vielen Dank für die hilfe. Habe ja schon viel gelesen in der Hilfe aber habe mir den Satz nicht so genau angeguckt. Und bin jetzt erst dadurch da drauf gekommen. So habe ich das jetzt gemacht und es funktioniert.

    [autoit]


    Func KeyOn()
    $KeyOnOff = 1
    HotKeySet("1", "K1")
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func KeyOff()
    $KeyOnOff = 0
    HotKeySet("1")
    EndFunc

    [/autoit]
    • Offizieller Beitrag

    Macht es so nicht mehr Sinn?

    Spoiler anzeigen
    [autoit]

    HotKeySet("^o", "KeyToggle")
    HotKeySet("1", "K1")

    [/autoit] [autoit][/autoit] [autoit]

    Global $KeyOnOff = False

    [/autoit] [autoit][/autoit] [autoit]

    Func KeyToggle()
    $KeyOnOff = Not $KeyOnOff
    EndFunc ;==>KeyToggle

    [/autoit] [autoit][/autoit] [autoit]

    Func K1()
    If $KeyOnOff Then
    Send("Hallo")
    Else
    HotKeySet("1")
    Send(@HotKeyPressed)
    HotKeySet("1", "K1")
    EndIf
    EndFunc ;==>K1

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit]