Autohotkey 同时多个热键(同时按下鼠标的中键、左键、右键)

Autohotkey Multiple hotkeys at same time (Middle button, Left button, Right button of the mouse pressed at once)

我一直在研究用我的鼠标控制 music/media 的方法,到目前为止我可以做到所有这些:

中键和右键播放下一首歌曲

Mbutton & RButton::Send {Media_Next}

中键和左键播放上一首歌曲

Mbutton & LButton::Send {Media_Prev}

中间按下并向上滚动增加声音(不会停止在其他地方使用中间点击)

按下中间键并向下滚动降低声音(不会停止在其他地方使用中间键)

#IfWinActive

Mbutton up::

`if a_priorhotkey not in wheelup,wheeldown`

    `send {Mbutton}`
return

#if getkeystate("Mbutton", "p")

Wheelup::Send {Volume_Up}

Wheeldown::Send {Volume_Down}

但现在我需要同时按下所有 3 个(Lbutton + Mbutton + Rbutton), 发送 {Media_Play_Pause} 它不适用于 Lbutton & Mbutton & Rbutton...

有什么想法吗?感谢阅读。

有一种可能:

#if getkeystate("Lbutton", "p") and getkeystate("Rbutton", "p")
MButton::Send {Media_Play_Pause}
#if

解释(尽管大部分是直截了当的词):

  1. 第 1 行:如果 LButtonRButton 被按下
  2. 第 2 行:MButton 表示 Send Media Pause/ Play
  3. 第 3 行:结束上下文相关热键

完整脚本:

#IfWinActive

Mbutton & RButton::Send {Media_Next}
Mbutton & LButton::Send {Media_Prev}

Mbutton up::
if a_priorhotkey not in wheelup,wheeldown

    send {Mbutton}
return

#if getkeystate("Mbutton", "p")
Wheelup::Send {Volume_Up}
Wheeldown::Send {Volume_Down}

#if getkeystate("Lbutton", "p") and getkeystate("Rbutton", "p")
MButton::Send {Media_Play_Pause}
#if