如何解决AHK脚本更改RButton行为
我想制作一个脚本,使我每次按下鼠标都可以单击一次,但是,如果我没有立即放手,而是持有人民币0.25秒以上,它将在释放时再次单击。
从本质上讲,只要我持有人民币的时间不长,我就可以正常使用它,但如果持有人民币,我可以双击它。
这是一种变通方法,因为如果我单击得太快并且我无法获得新的一个atm,则鼠标的按钮会卡住。
这样做的目的是能够在PS上使用鼠标并玩我曾玩过的游戏:《黑色行动2》,而我又有足够的钱购买新鼠标。在游戏的上下文中,我希望能够将Toggle ADS用作基础,并且默认情况下,只需单击即可使用切换,但是还可以使用相同的按钮即时更改“保持到ADS”而不更改游戏的配置。
我对AHK并不十分精通,这是我到目前为止所掌握的一切,可以很好地进行操作,但是如果我不进行操作,则双击它会很烦人。
RButton Down::
Send {Click,Right}
keywait RButton,t.25
if errorlevel
keywait RButton,Send {RButton Up}
return
解决方法
您似乎在sha1sum some.rpm | awk '{ print $1 }'
块周围缺少一些花括号;但我认为您可以通过简单的操作来实现正确的双击功能,
if
,
您可能会对多个KeyWait
进行一些欺骗,但是由于AHK具有单线程特性,因此我不建议在任何情况下都不要在热键标签中进行耗时的处理。
以下是我建议的一些非常简单的内容:
~*RButton::RClickTime := A_TickCount
~*RButton Up::
if (A_TickCount - RClickTime >= 250)
Click,Right
return
因此,首先,当我们按下RButton时(注意热键名称没有“按下”状态,键名称本身意味着它被按下了),我们用A_TickCount
存储当前系统时间。 >
而且我们为热键使用了~
修饰符,这样就不会消耗按键本身。
并且使用*
修饰符可以使例如 Ctrl 或 Shift 等不会使热键不起作用。
然后在RButton版本(RButton Up::
)中,将当前系统时间与存储的系统时间进行比较,以查看是否超过了250ms。如果是这样,我们再发送一次带有Click,Right
的右键单击(在此不要使用send command,这并不是真的要这样做)。
~RButton:: ;*When Right Mouse Button is Down,do the following.*
keywait RButton,T.25 ;*Wait (250 milliseconds) for it to be released.*
if errorlevel { ;*When it exceeds the said time*
keywait RButton ;*Wait for it to be released*
Send,{RButton Up} ;*Send Right Mouse Button up*
}
return
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。