如何映射键,除非按住 Control 或同时按下该键和 Control

How to map a key unless Control is hold down or that key is pressed with Control simultaneously

以下代码将 PgUp(resp. PgDn)映射到 WheelUp(resp. WheelDn),除非 Control 被按下。 例如,如果打开了 firefox 中的多个选项卡,如果我先按住 Control 然后按 PgDn,我会根据需要转到下一个选项卡。但是,如果我同时按下 ControlPgDn,我会转到下一个选项卡,我也会得到 WheelDown 的效果。在这种情况下如何防止 WheelDown

换句话说我想要一个映射 Pgdn-->WheelDown 如果既没有按住 Control 也没有同时按下 PgdnControl

#If (NOT (GetKeyState("Control", "P")))
PgUp::WheelUp
PgDn::WheelDown
#If

最后我找到了这个解决方案:

~PgDn::while (NOT (GetKeyState("Control", "P")))
Send {WheelDown}

~PgUp::while (NOT (GetKeyState("Control", "P")))
Send {WheelUp}