2

我正在尝试构建以下手势:单击并按住鼠标右键,单击鼠标左键 => 触发浏览器返回键

RButton & LButton Up::
    Send {Browser_Back}
return

~RButton::return

问题是我想在按下此热键后释放右键时消耗最后一个“右键向上”。实际上,我不想看到弹出的上下文菜单。

有什么帮助吗?

编辑:如果我们能保留右拖拽就好了。

4

1 回答 1

3

我假设您不想一直阻止右键菜单。

rbutton & lbutton::Send, {Browser_Back}

rbutton::click r

否则排除第二行。

更新:由于您现在已经指定使用“右拖动”
,这是另一个想法(注意:我不使用右拖动,所以我无法确认任何内容):

rbutton::
Keywait, rbutton, T0.5
If (ErrorLevel) {
    Click r d
    Keywait, rbutton
    Click r u
} Return

lbutton::
if GetKeyState("rbutton", "P")
    Send, {Browser_Back}
Else {
    Click d
    Keywait, lbutton
    Click u
} Return

您必须按住 rbutton 并单击鼠标左键,然后在 0.5 秒内释放 rbutton,或者提高时间。
据我所知,基本版本根本行不通。这是因为 using&将使 rbutton 仅在释放时触发。

如果这仍然不起作用,您可以尝试更复杂的方法:链接
更新:我只是想到了另一种变体:

Lbutton::
if GetKeyState("rbutton", "P")
    Send, {Browser_Back}
Else {
    Click d
    Keywait, lbutton
    Click u
} Return

rbutton up::
If (a_priorhotkey != "Lbutton" or a_timeSincePriorHotkey > 500)
    Click r
Return
于 2012-04-10T10:02:41.697 回答