微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AHK脚本更改RButton行为

如何解决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 举报,一经查实,本站将立刻删除。