Autohotkey 是否可以在AHK中同时触发2个热键?

Autohotkey 是否可以在AHK中同时触发2个热键?,autohotkey,Autohotkey,我正试图用键盘模拟鼠标移动。我可以在xy平面上一次移动一个方向,但现在我需要对角移动,例如按住shift+w+d键可以垂直移动。我更喜欢能够解决同时触发多个热键的问题的答案,因为这是我想在其他脚本中实现的 #NoEnv SetWorkingDir %A_ScriptDir% #SingleInstance Force #NoTrayIcon SendMode Input SetDefaultMouseSpeed, 0 ;Variables taskbar_height := 630 effec

我正试图用键盘模拟鼠标移动。我可以在xy平面上一次移动一个方向,但现在我需要对角移动,例如按住shift+w+d键可以垂直移动。我更喜欢能够解决同时触发多个热键的问题的答案,因为这是我想在其他脚本中实现的

#NoEnv
SetWorkingDir %A_ScriptDir%
#SingleInstance Force
#NoTrayIcon
SendMode Input
SetDefaultMouseSpeed, 0

;Variables
taskbar_height := 630
effective_screen_height := A_ScreenHeight - taskbar_height
x_movement := 0.03*A_ScreenWidth
y_movement := 0.05*effective_screen_height

;Mouse
+a::MouseMove, -%x_movement%, 0,, R
+d::MouseMove, %x_movement%, 0,, R
+w::MouseMove, 0, -%y_movement%,, R
+s::MouseMove, 0, %y_movement%,, R
(标准)自动热键,但您可以使用
SetTimer
和其他“假多线程”的诡计(一些示例)

然而,对于这个特定的情况,最好有一个循环来检查关键键(Shift、w、a、s和d)的哪一个组合被按下,并根据该组合进行适当的操作

注意:存在并为vanilla AHK提供多线程功能,如果您对该方法感兴趣,还可以提供一些其他功能。

(标准)自动热键,但您可以使用诸如
设置计时器
和其他用于“伪多线程”的诡计(一些示例)

然而,对于这个特定的情况,最好有一个循环来检查关键键(Shift、w、a、s和d)的哪一个组合被按下,并根据该组合进行适当的操作


注意:存在并为vanilla AHK提供了多线程功能,如果您对该方法感兴趣,还提供了一些其他功能。

使用自动热键有什么缺点吗?设置起来似乎有点麻烦,但除此之外,就我所知,我不认为有任何功能方面的缺点。使用自动热键有任何缺点吗?设置起来似乎有点麻烦,但除此之外,据我所知,我不认为有任何功能方面的缺点