45 lines
1.0 KiB
AutoHotkey
45 lines
1.0 KiB
AutoHotkey
#Requires AutoHotkey v2.0
|
|
#SingleInstance Force
|
|
|
|
; 解决 Win 键残留的核心设置:防止 AHK 自动发送 Ctrl 掩码
|
|
A_MenuMaskKey := "vkE8"
|
|
|
|
; 确保 RAlt 穿透
|
|
~RAlt::return
|
|
|
|
; -------------------------------------------------------------------------
|
|
; 逻辑说明:
|
|
; 使用 SendInput 提高可靠性。
|
|
; 执行完后强制发送 {LWin up} 以解除“卡死”状态。
|
|
; -------------------------------------------------------------------------
|
|
|
|
*^Left:: {
|
|
SendInput("#^{Left}")
|
|
SafeRelease()
|
|
}
|
|
|
|
*^Right:: {
|
|
SendInput("#^{Right}")
|
|
SafeRelease()
|
|
}
|
|
|
|
; 跳转到第一个桌面 (通常 10 次足够)
|
|
*^Up:: {
|
|
SendInput("#^{Left 10}")
|
|
SafeRelease()
|
|
}
|
|
|
|
; 跳转到最后一个桌面
|
|
*^Down:: {
|
|
SendInput("#^{Right 10}")
|
|
SafeRelease()
|
|
}
|
|
|
|
; 辅助函数:强制释放 Win 键,确保系统状态归零
|
|
SafeRelease() {
|
|
; 等待物理 Ctrl 键松开(可选,若想极致连发可注释掉下行)
|
|
; KeyWait "Control"
|
|
|
|
; 强制发送 Win 弹起指令,消除“残留”
|
|
SendInput("{LWin up}{RWin up}")
|
|
} |