如何重新映射鼠标按钮以执行与 autohotkey 中的热键前缀基本相同的操作

How do I remap a mouse button to do basically the same thing as a prefix for a hotkey in autohotkey

我是 AutoHotKey 的新手,所以请原谅我的任何愚蠢,但我正在尝试使用我的两个鼠标按钮中的至少一个(我有一个 Logitech M570 轨迹球并且 运行 Windows 10) 执行与前缀键基本相同的功能。我基本上只是想要另一个可以像 ctrl、alt、windows、fn 等功能的键。我一直在尝试在逐个热键的基础上执行此操作,而不是仅仅重新映射键本身(我不想丢失任何基于其他前缀的现有快捷方式)但由于某种原因,它永远不会起作用。我不知道它是在我的轨迹球设置中,还是在 AutoHotKey 中。这是我一直在尝试做的一个例子

XButton1 & a::Left
XButton1 & d::Right
XButton1 & w::Up
XButton1 & s::Down

当我按住 XButton1 时,应该将 a w s d 变成方向键。 如果有人对如何解决这个问题有任何建议,我将不胜感激。

更新:我的代码没有任何问题。问题是我的轨迹球。不要尝试将 Logitech M570 与 AutoHotKey 一起使用,这非常令人恼火。

但是,正如接受的答案中指出的那样,此脚本将使重新映射中使用的密钥变得无用,因此不要使用 LButton 而不是 XButton1 来调整它。请参阅上述答案,了解实现相同目标的更好方法。

我不知道具体是什么对您不起作用,但该代码将捕获每次按下 XButton1,这可能是您不想要的。这个版本应该可以正常工作。

#If GetKeyState("LButton")
a::Left
d::Right
w::Up
s::Down
#If