
Hier ist der Code, den ich habe:
[::
Send [
Input, Char, T2 L1
if Char = a
{
Send â
return
}
Send %Char%
return
Wenn ich [
then eingebe a
, verhält es sich normal und erzeugt â
. Aber wenn ich [
then eingebe p
, wird das Zeichen [
nicht gedruckt. Das Problem ist die zweite Zeile ( Send [
), in der [
das Zeichen neu zugeordnet wird.
Ich habe Folgendes erfolglos versucht:
Send `[
Send {[}
Ich möchte drucken, [
auch wenn es neu zugeordnet wird.
Antwort1
Verwenden Sie es $
als Modifikator vor dem Hotkey, z. B. $[::
.
Als dieAHK-DokumentationZustände:
Dies ist normalerweise nur erforderlich, wenn das Skript den Befehl „Senden“ verwendet, um die Tasten zu senden, aus denen der Hotkey selbst besteht, da dies sonst dazu führen könnte, dass er sich selbst auslöst. Das genaue Verhalten des Präfixes „$“ variiert je nach Betriebssystem:
Unter Windows NT4/2k/XP oder höher: Das $-Präfix erzwingt die Verwendung des Tastatur-Hooks zur Implementierung dieses Hotkeys, was als Nebeneffekt verhindert, dass der Send-Befehl ihn auslöst. Das $-Präfix ist gleichbedeutend damit, dass irgendwo oberhalb der Definition dieses Hotkeys #UseHook angegeben wurde.
Unter Windows 95/98/Me: Der Hotkey ist während der Ausführung seines Threads deaktiviert und danach wieder aktiviert. Als Nebeneffekt verhält es sich für solche Hotkeys so, als ob #MaxThreadsPerHotkey höher als 1 eingestellt wäre, als ob der Wert auf 1 eingestellt wäre.