Der Zweck ist das Spielen und ich möchte die Winkey-Taste einer anderen Taste zuordnen, sodass das Startmenü nicht angezeigt wird, wenn ich es drücke. Außerdem möchte ich Winkey-Tastenkombinationen wie Winkey+e (das explorer.exe öffnet) deaktivieren, während ich spiele.
Folgendes habe ich bisher versucht:
#IfWinActive ahk_class LWJGL
LWin::p
return
LWin & e::e
return
#IfWinActive
Die Neuzuordnung wird von den Spielen nicht erkannt. Lwin wird als Lwin behandelt, aber das Startmenü ist blockiert, was die Hälfte unseres Ziels ist.
Wenn ich aber die Taste gedrückt halte, öffnet sich Winkey
das Ganze , was nicht beabsichtigt ist, da ich mir gewünscht hätte, dass in diesem Schritt die Taste und die Taste gedrückt werden.e
explorer.exe
p
e
Gibt es einen AHK-Experten, der dies geschafft hat?
Ich habe versucht, die Verknüpfung folgendermaßen zu blockieren:
#IfWinActive ahk_class LWJGL
LWin::p
return
Lwin & e::
return
#IfWinActive
Es würde jedoch nur der p
Schlüssel gesendet und dieser wird weggelassen e
.
Ich habe auch versucht, den Send
Befehl mit Up
einem Befehl wie diesem zu verwenden:
#IfWinActive ahk_class LWJGL
LWin::p
return
LWin & e::
Send {LWin Up}
Send {e Down}
return
e Up::Send {e Up}
return
#IfWinActive
Alles ist behoben, außer dass die e
Taste allein nichts bewirkt (alleiniges Drücken bewirkt nichts, es funktioniert nur, wenn LWin gedrückt wird und dann gedrückt wird). Bitte beachten Sie, dass das erste Problem hier auch nicht behoben ist, was bedeutet, dass die LWin-Taste im Spiel e
nicht neu zugeordnet wird .p
Das Spiel, das ich mit diesen Skripten teste, ist Minecraft, aber ich habe es auch mit CS:GO getestet und die LWin-Taste wird nicht auf neu zugeordnet p
, sie wird immer noch als Winkey behandelt. Dies ist bei Notepad.exe oder anderen Nicht-Spielprogrammen nicht der Fall, die auf LWin::p
neu zugeordnet werden .Winkey
p
Antwort1
Die Neuzuordnung der Windows-Taste in AutoHotkey ist problematisch. Dies liegt daran, dass Windows nicht wirklich erkennen kann, dass die Windows-Taste gedrückt wurde.Es müssen zusätzliche simulierte Tastenanschläge gesendet werden, um das Öffnen des Startmenüs zu verhindernDie beste Option für Zuverlässigkeit beim Spielen ist Folgendes:
Ordnen Sie die Taste zunächst mit SharpKeys einer Taste zu, die auf Ihrer Tastatur nicht vorhanden ist, z. B. F15. Ordnen Sie diese Taste dann separat für die Fälle neu zu, in denen Sie im Spiel sind und für die Fälle, in denen Sie nicht im Spiel sind:
#IfWinActive ahk_class LWJGL
F15::p
#IfWinActive
#IfWinNotActive ahk_class LWJGL
F15::LWin
#IfWinNotActive
(Sie benötigen keine Return-Anweisungen für Neuzuordnungen oder wenn ein Hotkey nur eine einzelne Zeile ausführen muss.)
Antwort2
Sie müssen lediglich die Taste selbst neu zuordnen. Die LWin-Tastenkombinationen müssen Sie nicht neu zuordnen.
#IfWinActive ahk_class LWJGL
LWin::p
#IfWinActive
Mit LWin & e::e
ordnen Sie es auf „e“ um. Alle Sondertasten werden also durchgelassen. In diesem Fall wird die Win-Taste durchgelassen, Sie erhalten also Win + E
.
Beachten Sie, dass {blind}
alle Sondertasten die von Ihnen gedrückten Tasten beeinflussen können. Wenn Sie beispielsweise eine Taste „e“ neu zuordnen und diese groß schreiben möchten, müssen Sie die Umschalttaste gedrückt halten und Ihre „neu zugeordnete Taste“ drücken.
Beachten Sie auch, dass bei der Neuzuordnung einer Taste Send, {DownR}
eine Methode verwendet wird, die bei Verwendung mit Tastaturkürzeln eine ähnliche Wirkung hat wie das physische Drücken der Taste.