如何更正此脚本以将点击映射到数字键?
How can I correct this script to map clicks to number keys?
我有一个 4 键鼠标,我正在尝试通过将修改后的点击组合映射到 1-8 键来快速管理复杂、广泛的 MMO 法术旋转。
我的目标是:
- 按住(第 3 个鼠标按钮)XButton1,左键单击 = 1 个键。
- 按住(第 3 个鼠标按钮)XButton1,右键单击 = 2 键。
- 按住(第 4 个鼠标按钮)XButton2,左键单击 = 3 键。
- 按住(第 4 个鼠标按钮)XButton2,右键单击 = 4 键。
- 按住(第 3 个鼠标按钮)XButton1 和 Shift,左键单击 = 5 键。
- 按住(第 3 个鼠标按钮)XButton1 和 Shift,右键单击 = 6 键。
- 按住(第 3 个鼠标按钮)XButton2 和 Shift,左键单击 = 7 键。
- 同时按住(第 3 个鼠标按钮)XButton2 和 Shift,右键单击 = 8 键。
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 完全陌生,所以这可能是错误的,我不确定。
- 您在第 9 行使用
+
指示 Shift 键,但组合键表示法正好允许两个物理键配对。解决方案:用GetKeyState. 手动检查Shift键状态
- 将热键命令 (
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
}
我有一个 4 键鼠标,我正在尝试通过将修改后的点击组合映射到 1-8 键来快速管理复杂、广泛的 MMO 法术旋转。
我的目标是:
- 按住(第 3 个鼠标按钮)XButton1,左键单击 = 1 个键。
- 按住(第 3 个鼠标按钮)XButton1,右键单击 = 2 键。
- 按住(第 4 个鼠标按钮)XButton2,左键单击 = 3 键。
- 按住(第 4 个鼠标按钮)XButton2,右键单击 = 4 键。
- 按住(第 3 个鼠标按钮)XButton1 和 Shift,左键单击 = 5 键。
- 按住(第 3 个鼠标按钮)XButton1 和 Shift,右键单击 = 6 键。
- 按住(第 3 个鼠标按钮)XButton2 和 Shift,左键单击 = 7 键。
- 同时按住(第 3 个鼠标按钮)XButton2 和 Shift,右键单击 = 8 键。
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 完全陌生,所以这可能是错误的,我不确定。
- 您在第 9 行使用
+
指示 Shift 键,但组合键表示法正好允许两个物理键配对。解决方案:用GetKeyState. 手动检查Shift键状态
- 将热键命令 (
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
}