Autohotkey 鼠标右键单击“自动热键”同时按下键盘按钮

Autohotkey 鼠标右键单击“自动热键”同时按下键盘按钮,autohotkey,mousedown,Autohotkey,Mousedown,是否有人可以帮助我使用AutoHotKey宏,在单击鼠标右键时按下并释放Q按钮,在释放鼠标右键时按下并释放Q按钮 编辑: 解释,想象一下,我正在玩一个游戏,当我按下鼠标右键(然后按住它)时,我需要在键盘上自动按下Q字母,这样我会在游戏中得到一个跳跃(或蹲下),当我松开鼠标右键(鼠标上键)时,我会再次自动按下Q字母。 我试着写剧本,但没能成功 这就是我到目前为止的想法: RButton:: If !Toggler { Send, {RButton Down} q R

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

编辑:
解释,想象一下,我正在玩一个游戏,当我按下鼠标右键(然后按住它)时,我需要在键盘上自动按下Q字母,这样我会在游戏中得到一个跳跃(或蹲下),当我松开鼠标右键(鼠标上键)时,我会再次自动按下Q字母。 我试着写剧本,但没能成功

这就是我到目前为止的想法:

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

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

范例

h up::
    ; your code
return
当您松开键
h
时将触发。您可以将其与任何热键(包括鼠标)一起使用


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

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

#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
更新 在阅读了你的文本(并忽略了你想要切换行为的脚本)之后,我认为你想要这个<代码>右键单击将发送
右键单击向下+q
,然后什么也不发送,直到您放开
右键单击
,它将发送
右键单击向上+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,替代方法
你能试着重写一下你的问题吗?因为你想要的不是很清楚!你说Q按钮是什么意思?这是带Q的软件按钮吗?或者你是说Q键?我加了一些解释谢谢,我一回家就会试试。顺便问一下,应该添加什么才能使这个脚本只在特定游戏中有效,这样我就可以添加文件路径或其他什么了?是的,更新后的脚本看起来更正确。我会试试看,然后告诉你怎么做。非常感谢againI,我现在使用的是第二个版本的脚本,虽然一切正常,但有一件令人不快的事情——有时在游戏中的各个地方都可以看到一个带有黑白文本“RButton Up+q”的白色小矩形,这开始让人恼火:)是不是有什么东西我应该在AutoHotKey中关闭,或者这是与脚本相关的?只要用
工具提示从代码中删除这两行即可。这些行只是添加的,因此您可以验证脚本workedI在使用AutoHotLey脚本(更新2,替代方式)时是否找到了一个想法如果键盘上按下了shift键,则鼠标右键单击以激活Q键存在问题。因此,如果按下shift键,然后我按下鼠标右键,则脚本无法运行。如果在鼠标单击之前按下W A S D键,则工作正常。有解决办法吗?此外,有时编译的exe文件会自动关闭。为什么会这样?
#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