具有重复功能的自动热键同时击键


0

我现在知道了


settitlematchmode,3

SetKeyDelay,350

^ o ::

$ stop:= 0

环,

{

controlsend,,{a 30},ahk_pid 12144
controlsend,,{a 30}{s 30},ahk_pid 12144
controlsend,,{s 30},ahk_pid 12144
controlsend,,{s 30}{d 30},ahk_pid 12144
controlsend,,{d 30},ahk_pid 12144
controlsend,,{d 30}{w 30},ahk_pid 12144
controlsend,,{w 30},ahk_pid 12144
controlsend,,{w 30}{a 30},ahk_pid 12144
controlsend,,{w 30},ahk_pid 12144
controlsend,,{w 30}{d 30},ahk_pid 12144
controlsend,,{d 30},ahk_pid 12144
controlsend,,{d 30}{s 30},ahk_pid 12144
controlsend,,{s 30},ahk_pid 12144
controlsend,,{s 30}{a 30},ahk_pid 12144
if ($stop)
{
  return
}

}

^ p :: $ stop:= 1


controlend,{a 30} {s 30}发送30次“ a”,然后发送30次“ s”,但我希望发送30次“ as”

具有30次重复的单个击键可以正常工作,但同时击键不能同时工作。而是按顺序工作。你能帮忙吗?


发送{as}不起作用?
ejbytes

不,它不是:(
SalihcanTaşarkuyu16年

哦对不起。我认为有两种方法可能会有所帮助。发送{a} {s};或mystr:=“ as”; 发送%mystr%;
ejbytes '16

尝试添加变量并将其设置为等于“ as”?类似于string = as。controlsend,,%string%, ahk_pid 12144
DrZoo '16

Answers:


0

...但是我想要30倍“作为”

我认为有两种方法可能会有所帮助。

发送{a} {s}; 
            ; 要么
mystr:=“ as”; 设置一个字符串值
发送%mystr%; 发送字符串

循环:

mystr:=“ as”; 设置一个字符串值
30圈
{
    发送%mystr%; 发送字符串
}

有帮助。现在至少它发送“ asasas”而不是“ aaasss”。但是在“ a”和“ s”之间仍然存在延迟。他们不会同时注册。我会尽力使它像这样工作。感谢您的帮助
SalihcanTaşarkuyu

您是否要使用“ as”作为组合输入(例如SHIFT-S)?如果您只想输入“ as”,那么使用mystring:=“ as”的字符串输入法会将String注册为我应该考虑的单个内存输入。您想要的“作为”的本质是什么?
ejbytes 2016年

我希望它在没有延迟的情况下注册a和s并休眠1000并再次注册。您的代码针对我的情况进行了少量调整。多谢。
SalihcanTaşarkuyu16年

太棒了。很高兴它解决了。
ejbytes
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.