Ordnen Sie Winkey neu zu und deaktivieren Sie die Verknüpfungen

Ordnen Sie Winkey neu zu und deaktivieren Sie die Verknüpfungen

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 Winkeydas Ganze , was nicht beabsichtigt ist, da ich mir gewünscht hätte, dass in diesem Schritt die Taste und die Taste gedrückt werden.eexplorer.exepe

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 pSchlüssel gesendet und dieser wird weggelassen e.

Ich habe auch versucht, den SendBefehl mit Upeinem 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 eTaste 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 enicht 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::pneu zugeordnet werden .Winkeyp

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::eordnen 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.

verwandte Informationen