Bewirkt, dass einige oder alle Hotkeys Tastendrücke puffern statt ignorieren, wenn ihr #MaxThreadsPerHotkey-Grenzwert erreicht ist.
#MaxThreadsBuffer OnOff
Geben Sie eines der folgenden Wörter an:
On: Alle Hotkey-Subroutinen zwischen dieser und der nächsten Direktive #MaxThreadsBuffer OFF
werden Tastendrücke ihrer Hotkeys puffern statt ignorieren, wenn ihr #MaxThreadsPerHotkey-Grenzwert erreicht ist.
Off: Standardverhalten. Es wird der Tastendruck eines Hotkeys ignoriert, wenn dieser Hotkey bereits seine maximale Anzahl von Threads ausführt (üblicherweise 1, kann aber mit #MaxThreadsPerHotkey geändert werden).
Diese Direktive wird kaum genutzt, weil diese Art der Pufferung (standardmäßig OFF) in der Regel mehr schadet als nützt. Wenn Sie z. B. versehentlich zweimal einen Hotkey drücken, während diese Direktive aktiviert ist, würde die Subroutine des Hotkeys automatisch das zweite Mal ausgeführt werden, wenn sein erster Thread weniger als 1 Sekunde zum Beenden benötigt (diese Art der Pufferung verfällt standardmäßig nach einer Sekunde). Beachten Sie, dass AutoHotkey mehrere unterschiedliche Methoden hat, um Hotkeys zu puffern (z. B. Thread Interrupt
und Critical
). Da diese spezielle Methode Probleme verursachen kann, ist sie standardmäßig ausgeschaltet.
Der Hauptnutzen dieser Direktive ist es, die Reaktionsfähigkeit der Autowiederholungsfunktion der Tastatur zu erhöhen. Wenn Sie beispielsweise einen Hotkey gedrückt halten, dessen #MaxThreadsPerHotkey-Grenzwert auf 1 (Standardwert) gesetzt ist, werden alle eingehenden Tastendrücke ignoriert, wenn diese Hotkey-Subroutine bereits ausgeführt wird. Sobald die Subroutine endet, muss sie folglich auf den nächsten eingehenden autowiederholten Tastendruck warten. Dieser Tastendruck kann eventuell 50 ms oder länger dauern, weil er zwischen den Tasteneingaben des Auto-Wiederholungs-Zyklus gefangen ist. Um diese Verzögerung von 50 ms zu vermeiden, aktivieren Sie diese Direktive für jeden Hotkey, der die bestmögliche Reaktionszeit benötigt, während er autowiederholt wird.
Diese Direktive sollte wie alle anderen Direktiven nicht positioniert werden, als wäre sie ein Befehl (beispielsweise ist es sinnlos, die Direktive in eine Subroutine zu setzen). Positionieren Sie diese Direktive stattdessen direkt vor dem ersten Hotkey-Label, der von ihr beeinflusst werden soll.
#MaxThreadsBuffer kann wie alle anderen Direktiven nicht bedingt ausgeführt werden.
#MaxThreads, #MaxThreadsPerHotkey, Critical, Thread (Befehl), Threads, Hotkey, #MaxHotkeysPerInterval, #HotkeyInterval, ListHotkeys
Bewirkt, dass die ersten zwei Hotkeys Tastendrücke puffern statt ignorieren, wenn ihr #MaxThreadsPerHotkey-Grenzwert erreicht ist.
#MaxThreadsBuffer On #x::MsgBox, Dieser Hotkey wird diese Art der Pufferung verwenden. #y::MsgBox, Dieser Hotkey auch. #MaxThreadsBuffer Off #z::MsgBox, Aber dieser nicht.