#MenuMaskKey [AHK_L 38+]

Ändert die Taste, mit der KeyUp-Ereignisse von Win oder Alt maskiert werden sollen.

#MenuMaskKey Tastenname

Parameter

Tastenname

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.

Bemerkungen

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. vk07, das Microsoft als "undefined" dokumentiert, oder vkFF, das als "no mapping" (eine Taste, die keine Funktion hat) reserviert ist. [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.

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 ein KeyPress- und KeyDown-Ereignis einer Win- oder Alt-Taste ohne zwischenzeitlichen Tastendruck erkennt, aktiviert es normalerweise ein Menü. 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 KeyUp-Ereignis einer Alt- oder Win-Taste maskiert wird, wenn alle folgenden Bedingungen erfüllt sind:

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 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}{vk07}

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 das KeyUp-Ereignis einer Win- oder Alt-Taste daran zu hindern, ein Menü zu aktivieren.

Siehe auch

Lesen Sie diesen Thread, um mehr zu erfahren.

Beispiele

#1

#MenuMaskKey vk07  ; vk07 ist unbelegt.
#UseHook
#Space::
!Space::
    KeyWait LWin
    KeyWait RWin
    KeyWait Alt
    KeyHistory
return