Ändert die Taste, mit der Win- oder Alt-KeyUp-Ereignisse maskiert werden sollen.
#MenuMaskKey TasteName
Ein Tastenname oder eine VKnn-Sequenz, die einen virtuellen Tastencode ungleich 0 kennzeichnet. [v1.1.28+]: Scancodes in Form von SCnnn und VKnnSCnnn können auch angegeben werden.
Die Maskierungstaste wird automatisch gesendet, um zu verhindern, dass das Startmenü oder die Menüleiste des aktiven Fensters ungewollt aktiviert wird.
Die Standard-Maskierungstaste ist Strg. Diese Direktive kann genutzt werden, um eine andere Maskierungstaste mit weniger Nebenwirkungen zu bestimmen.
Gute Kandidaten dafür sind virtuelle Tastencodes, die in der Regel keinen Effekt haben, wie z. B. vkE8, das Microsoft als "unassigned" dokumentiert, oder vkFF, das als "no mapping" (eine Taste, die keine Funktion hat) reserviert ist.
Hinweis: Microsoft kann jederzeit einem unbelegten Tastencode einen Effekt zuweisen. Zum Beispiel war vk07 einst undefiniert und konnte bedenkenlos verwendet werden, aber seit Windows 10 1909 ist vk07 für das Öffnen der "Game Bar" reserviert.
[v1.1.28+]: Sie können sowohl VK als auch SC angeben, die nicht mit einer vorhandenen Taste übereinstimmen müssen. Geben Sie vk00sc000
an, um alle automatischen Maskierungen zu deaktivieren. Einige Werte, wie z. B. vk00 in Verbindung mit einem SC ungleich 0, führen dazu, dass das Startmenü nicht unterdrückt wird.
Diese Einstellung ist global - das heißt, dass die Direktive nur einmal angegeben werden muss (egal wo), um das Verhalten des ganzen Skripts zu beeinflussen.
#MenuMaskKey kann wie alle anderen Direktiven nicht bedingt ausgeführt werden.
Hotkeys: Wenn ein Hotkey via Tastatur- oder Maus-Hook implementiert ist, ist der finale Tastendruck eventuell für das aktive Fenster und das System unsichtbar. Wenn das System nur einen Win- oder Alt-Keydown/Keyup ohne intervenierenden Keypress erkennen konnte, würde es normalerweise ein Menü aktivieren. Um das zu verhindern, kann der Tastatur- oder Maus-Hook automatisch die Maskierungstaste senden.
[v1.1.27+]: Das Drücken eines Hook-Hotkeys bewirkt, dass das nächste Alt- oder Win-Keyup maskiert wird, wenn alle folgenden Bedingungen erfüllt sind:
$#a::
in Kombination mit AppsKey::RWin
eine Maskierung, wenn Menü+A gedrückt wird, während die Menü-Taste selbst weiterhin das Startmenü öffnen kann.Maus-Hotkeys werden die Maskierungstaste eventuell sofort senden, wenn der Tastatur-Hook nicht installiert ist.
Hotkeys mit dem Tilde-Modifikator sind nicht dazu gedacht, die ursprüngliche Funktion der Taste zu blockieren, daher bewirken sie in [v1.1.27+] keine Maskierung. Hotkeys wie ~#a::
unterdrücken das Menü immer noch, da das System in solchen Fällen erkennt, dass die Win-Taste in Kombination mit einer anderen Taste verwendet wurde. Maus-Hotkeys und die beiden Win-Tasten selbst (~LWin::
und ~RWin::
) unterdrücken jedoch nicht das Startmenü.
Das Startmenü (bzw. die Menüleiste des aktiven Fensters) kann durch Drücken einer beliebigen Taste unterdrückt werden. Das folgende Beispiel deaktiviert die Fähigkeit der linken Win-Taste, das Startmenü zu aktivieren, aber lässt die Möglichkeit offen, sie weiterhin als Modifikator zu verwenden:
~LWin::Send {Blind}{vkE8}
Send: Send, ControlSend und so weiter haben als Teil ihres normalen Funktionsablaufs den Effekt, Modifikatortasten loszulassen. Zum Beispiel muss der Hotkey <#a::SendRaw %Adresse%
in der Regel vor dem Senden des Inhalts von Adresse die linke Win-Taste loslassen und danach die linke Win-Taste wieder nach unten drücken (damit andere Win-Tastenkombinationen auch weiterhin funktionieren). Die Maskierungstaste kann in solchen Fällen gesendet werden, um ein Win- oder Alt-Keyup daran zu hindern, ein Menü zu aktivieren.
Lesen Sie diesen Thread, um mehr zu erfahren.
#MenuMaskKey vkE8 ; Maskierungstaste zu etwas Unbelegtem ändern, wie z. B. vkE8. #Space::Run % A_ScriptDir ; Zusätzlicher Strg-Tastendruck wird nicht ausgelöst.