如何更正此脚本以将点击映射到数字键?

How can I correct this script to map clicks to number keys?

我有一个 4 键鼠标,我正在尝试通过将修改后的点击组合映射到 1-8 键来快速管理复杂、广泛的 MMO 法术旋转。

我的目标是:


XButton1 & LButton::
Send 1
XButton1 & RButton::
Send 2
XButton2 & LButton::
Send 3
XButton2 & RButton::
Send 4
XButton1 & +LButton::
Send 5
XButton1 & +RButton::
Send 6
XButton2 & +LButton::
Send 7
XButton2 & +RButton::
Send 8

我在第 9 行收到无效的热键错误。我对 AutoHotkey 完全陌生,所以这可能是错误的,我不确定。

  1. 您在第 9 行使用 + 指示 Shift 键,但组合键表示法正好允许两个物理键配对。解决方案:用GetKeyState.
  2. 手动检查Shift键状态
  3. 将热键命令 (Send ...) 与热键声明放在同一行,否则下面的所有命令将被执行,直到遇到 return 语句或脚本结束 (您的所有 send 个命令)。

XButton1 & LButton::SendEither(1, 5)
XButton1 & RButton::SendEither(2, 6)
XButton2 & LButton::SendEither(3, 7)
XButton2 & RButton::SendEither(4, 8)

SendEither(key, keyShift) {
    Send % GetKeyState("Shift","P") ? keyShift : key
}