将左键单击和右键单击替换为 Alt+1 和 Alt+2(Autohotkey)

Replace Left and Right Click for Alt+1 and Alt+2 (Autohotkey)

我想在按住 Alt 键 + 1 时发送点击,然后仍然按住 当按下 2

时,alt 键发送右键单击

我的代码

!q::

Send {LButton Down}

KeyWait q

Send {LButton Up}

Return

!w::

Send {RButton Down}

KeyWait w

Send {RButton Up}

Return

这个想法是一直按下 ALT 键,

示例:

!:: { q::
Send {LButton Down}

KeyWait q 

Send {LButton Up}

w:: 

Send {RButton Down} 

KeyWait w 

Send {RButton Up} 

KeyWait ! 

Return 

}

请帮帮我

这是您要找的吗?

!1::Click

!2::Click Right

我测试了一些代码并得出了这个结论。
你应该避免使用 alt 键因为(你可以测试它)它会导致右键菜单消失(在没有任何 ahk 应用程序的桌面上右键单击 运行。然后按 alt,你会看到菜单消失。)
所以这里我用的是Ctrl键。

您唯一需要添加的是 $ 前缀。同下:

$^1::
    send, {lbutton down}
    keywait, 1
    send, {lbutton up}
return

$^2::
    send, {rbutton down}
    keywait, 2
    send, {rbutton up}
return

它带有 Ctrl 键,您不能使用 Alt 键,因为它会禁用飞出菜单。您可以使用 ! alt 键而不是 ctrl 键,但您必须先释放 alt 然后释放 2 以防止该菜单消失。

我想你想要的是这样的东西。我弄清楚了为什么它重复发送并处理了它。但它也不起作用。也许 alt 键是自动发送的(我的意思是它的行为自然是这样的)。

$ALT::
    send, {alt down}
    keywait, ALT
return

$ALT UP::
    send, {alt up}
return

$!1::
    send, {lbutton down}
    keywait, 1
    send, {lbutton up}
return

$!2::
    send, {rbutton down}
    keywait, 2
    send, {rbutton up}
return

另一种解决方案是使用键代替修饰符:

::
    if GetKeyState("z", "p") {
        send, {lbutton down}
        keywait, 1
        send, {lbutton up}
    }
    else {
        SetKeyDelay, -1
        Send {Blind}{1 DownTemp}
    }
return

 up::
    SetKeyDelay, -1
    Send {Blind}{1 Up}
return

::
    if GetKeyState("z", "p") {
        send, {rbutton down}
        keywait, 2
        send, {rbutton up}
    }
    else {
        SetKeyDelay, -1
        Send {Blind}{2 DownTemp}
    }
return

 up::
    SetKeyDelay, -1
    Send {Blind}{2 Up}
return

您可以使用任何键代替 "z"z 就像 alt 键。