1

有人可以帮助我使用 AutoHotKey 宏在单击鼠标右键时按下并释放 Q 按钮并在释放鼠标右键时按下并释放 Q 按钮吗?

编辑:
解释,想象一下,我正在玩游戏,当我点击鼠标右键(然后我按住它)时,我需要在键盘上自动按下 Q 字母,所以我会跳(或蹲下)当时的游戏,当我释放鼠标右键(鼠标按钮向上)时,我会再次按下 Q 自动键。我试图编写脚本,但无法正常工作。

这是我到目前为止提出的:

    RButton::
    If !Toggler {
    Send, {RButton Down} q
    Return
    }
    Send {RButton Up} q
    Return
4

2 回答 2

2

好的,看起来您想要切换行为。

#SingleInstance Force
#installKeybdHook
#Persistent
SetTitleMatchMode, 2 ; Make search title in #IfWinActive more flexible

#IfWinActive, Title of your game as found by AHK Windows Spy 
    RButton::
        If (Toggler := !Toggler )
        {
            ToolTip, RButton Down
            Send, {RButton Down} q
            Return
        }
        ToolTip, RButton Up        
        Send {RButton Up} q
    Return
#IfWinActive
Return

*x::
ExitApp

更新

在阅读了您的文本(并忽略了您想要切换行为的脚本)之后,我认为您想要这个!RightClick将发送RightClick Down + q,然后什么都没有,直到您放开RightClick,然后发送一个RightClick Up + q. 我添加了工具提示,因此您可以查看#IfWinActive 是否正确激活了脚本。

#SingleInstance Force
#installKeybdHook
#Persistent
SetTitleMatchMode, 2 ; Make search title in #IfWinActive more flexible

#IfWinActive, Title of your game as found by AHK Windows Spy

RButton::
    ToolTip, RButton Down + q
    Send, {RButton Down} q
Return

RButton Up::
    ToolTip, RButton Up + q
    Send, {RButton Up} q
Return

#IfWinActive
Return

*x::
ExitApp

如果这确实是您想要的,那么最终的解决方案将非常接近 Armin 的原始提示!

更新 2,替代方式

#SingleInstance Force
#installKeybdHook
#Persistent
SetTitleMatchMode, 2 ; Make search title in #IfWinActive more flexible

#IfWinActive, Title of your game as found by AHK Windows Spy
    *~RButton:: ; ~ passes Rbutton through
        ToolTip, RButton Down + q
        Send, q
        KeyWait, RButton ; Wait for RButton to be released
        ToolTip, RButton Up + q
        Send, q
    Return
#IfWinActive
Return

*x::
ExitApp
于 2013-03-18T14:19:28.110 回答
1

up您可以通过热键使用后缀。

例子

h up::
    ; your code
return

当您释放 key 时将触发h。您可以将其与包括鼠标在内的任何热键一起使用。

您可以使用发送命令发送按键。

于 2013-03-18T10:01:11.580 回答