提一个相关的思路:可以用AHK把鼠标后侧键映射到`Alt+Tab`,把滚轮上下映射到`tab`和`shift+tab`,这样自然握住鼠标滚动就能切换程序了,或者单击侧键切换到上一个程序
还可以把中键映射到前侧键,按住后侧键的时候单击前侧键可以关闭窗口
; 侧键 - 模拟罗技的任务切换(适用于能够获取侧键状态的情况)
; 即:单击切换到上一个窗口,按住打开alt+tab窗口
; https://wyagd001.github.io/zh-cn/docs/Hotkeys.htm#AltTabRemarks
; 无论是否使用 up 关键字, alt-tab 动作都可以在 key-down 和/或 key-up 生效, 并且不能与同一键上的其他动作相结合. 例如, 同时使用 F1::AltTabMenu 和 F1 up::OtherAction() 是不支持的.
XButton1:: ; 当按下XButton1时
Send, {Alt Up}
Send, {Alt Down} ; 按下Alt键,不松开
Send, {Tab}
return
; 通配符*: 即使附加的修饰键被按住也能激发热键. 这常与重映射按键或按钮组合使用. 避免了alt、shift等键导致失效
*XButton1 up:: ; 当释放XButton1时
; Send, {Esc} ; 取消注释此行则:松开后不切换到上一个窗口
Send, {Alt Up} ; 松开Alt键,切换到上一个窗口
return
; 滚轮滚动AltTab菜单
~*WheelUp::
~*WheelDown::
if InStr(A_ThisHotkey, "WheelUp"){
modifier := "+" ; Shift
} else if InStr(A_ThisHotkey, "Wheeldown") {
modifier := ""
}
if WinActive("ahk_class MultitaskingViewFrame"){
Send, {Alt down}^%modifier%{Tab}
return
}
return
可以简单测试一下,因为是我的主脚本截取出来的片段,可能有不兼容