避免重叠热键修饰符

Avoid overlapping modifiers for hotkey

用例:我的笔记本电脑键盘(带有 Azerty 贴纸的 Qwerty 键盘)缺少我绝对需要的 « <> » 键。因此,我正在编写一个 AutoHotKey 脚本以能够键入这些字符。

预期行为:输入 « Left Ctrl + W » 应以编程方式键入“<”,而输入 « Left Ctrl + Left Shift + W » 应以编程方式键入“<”。

问题:使用以下脚本,以编程方式输入 « Left Ctrl + W » 键入“<>”,因此热键似乎重叠......但我认为 AutoHotKey 在输入额外修饰符时不会触发热键.

; Left Ctrl + W
<^w::
SendInput <

; Left Ctrl + Left Shift + W
<^<+w::
SendInput >

但是,以下脚本按预期工作。我刚刚添加了一个 "Return":

; Left Ctrl + W
<^w::
SendInput <
Return

; Left Ctrl + Left Shift + W
<^<+w::
SendInput >

问题:AutoHotKey 在我的第一个脚本中输入“<>”是否正常?添加这样的“Return”确实是所需的语法,即使脚本仅包含这 2 个热键?

是的,这是正常的。

要么将热键写在 single line 上,否则使用 return.

有效语法:

; Left Ctrl + W
<^w::SendInput <

; Left Ctrl + Left Shift + W
<^<+w::SendInput >

; Left Ctrl + W
<^w::
SendInput <
return
        
; Left Ctrl + Left Shift + W
<^<+w::
SendInput >
return