如何在 AHK 中编写可切换的按住键?

如何在 AHK 中编写可切换的按住键?

我正在尝试编写一个 AHK 脚本,它允许我执行以下操作:

按下该t键来切换1被按住的键,这样它会无限地输入一串 1,直到我t再次按下该键。

只是为了清楚起见:我希望它重复发送 1 键输入,而不是发送按住 1 键而不输入任何内容的命令。

我知道这可以通过循环来实现,但不确定如何实现;尽管该t键应该可以启动和停止循环。我也不希望循环受到影响(即使我按下了其他键),除非我使用 t 键手动停止它。

答案1

如果我理解正确的话,您希望按键t能够启动和停止按键的重复1,充当开关。

下面是执行此操作的脚本,以 200 毫秒的间隔重复该键:

#Persistent
repeating1 = 0

t::
if (repeating1 = 0)
{
    repeating1 = 1
    SetTimer, repeat1, 200
}
else
{
    repeating1 = 0
    SetTimer, repeat1, Off
}
return

repeat1:
send, 1
return

答案2

就这样

#执着的
#MaxThreadsPerHotkey 2
切换 := False

向上::
切换 := !切换

环形 {
    如果(!切换){
    发送,{z UP}
        休息
    }
    发送,{z DOWN}
睡 10
}
返回

答案3

toggle = 1
    
t::
toggle := !toggle
If (toggle) 
    send,{1 Up}
else
    send,{1 Down}
return

相关内容