【问题标题】:Autohotkey alter Mouse button自动热键更改鼠标按钮
【发布时间】:2014-11-12 22:30:29
【问题描述】:

我一直在尝试学习如何在 Autohotkey 上制作这个脚本,但不得不说他们的文档与新手友好完全相反,我似乎也找不到任何类似的例子。

我将尝试描述我的意图:当在键盘上按下 A 时(如果已按下,则未按住),将 RButton 更改为 LButton,直到我单击它,然后使其返回到它的正常的 RButton 功能。

在我的脑海中听起来很简单,但我无法为我的生活做任何事情.__。

所以我感谢任何帮助!提前致谢!

【问题讨论】:

    标签: keyboard mouse autohotkey


    【解决方案1】:

    首先,您需要创建一个热键来监听a 键。您应该能够在此处的文档中找到所需的所有信息 - http://ahkscript.org/docs/Hotkeys.htm

    接下来,您需要创建您的Rbutton 热键并使其有条件地检测是否已按下a。为此,您使用#if directive。确保您已更新到 latest version of AHK,否则此指令将不起作用。

    您的最终代码将如下所示:

    ; Init toggle var as "0"
    changeNextPress := 0
    
    ; Toggle the variable to "1"
    ; The ~ symbols allows the "a" key be captured without blocking it
    ~a::
        changeNextPress := 1
    return
    
    ; Only activate this key if the toggle variable is "1"
    #if (changeNextPress == 1)
        Rbutton::
            ; Since we only want one press, toggle the variable back to "0" again
            changeNextPress := 0
            Send, {LButton}
        return
    #if
    

    【讨论】:

    • 完美!非常感谢您的洞察力,真的很有帮助。但是,经过一些研究,我发现“Send{}”在某些程序和/或游戏中无法正常工作。有没有办法用 Rbutton::Lbutton 做到这一点,然后将其反转?
    • @ZekeFlynn 并非如此,您可以尝试使用不同的发送方法,例如SendInputSendPlay。您可以阅读他们的相关信息here
    猜你喜欢
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2012-04-12
    相关资源
    最近更新 更多