使用 AutoHotKey 在键盘快捷键之间切换

Toggle between keyboard shortcuts with AutoHotKey

我正在尝试映射一个键以在两个不同的快捷方式之间切换。目的是在 Windows 10 中轻松切换桌面(而不是必须按三个按钮)

我正在尝试的是:

toggle      := false
½:: Toggle = false ? ( ^#Right, Toggle := true ) : ( ^#Left, Toggle := false )

她的脚本运行没有错误,但它不起作用。

有人可以给我提示吗?

应该是send ^#Right,但是不能在三元运算符中加入额外的命令。您只能指定要存储到 toggle 中的值(如 here 所示)。

Toggle = false ? ... 必须是 Toggle := false ? ...,因为右边是表达式,不是字符串。

尝试

%::
    toggle := !toggle
    if(toggle)
        send ^#{Right}
    else
        send ^#{Left}
return

我个人想不出更紧凑的方式来实现它,这显然是您想要实现的。

如果你想用两个以上的[键盘快捷键]切换,

您可以使用此 AHK 代码。

Example1.ahk

; [+ = Shift] [! = Alt] [^ = Ctrl] [# = Win] 
#SingleInstance ignore
a := 1 

; If you want to toggle with more the two toggle's you can use this code.
;a = 1   => send {^#Right}
;a = 2   => send {^#Left}
;a = 3   => send {????}

;click the f1 key to toggle 
f1::
if (a=1)
{
Menu, Tray, Icon,c:\iconsx32\icon1.ico,1,1 ; change tray icon
send {^#Right}
a := 2
}else{

if (a=2)
{
Menu, Tray, Icon,c:\iconsx32\icon2.ico,1,1 ; change tray icon
send {^#Left}
a := 3
}else{

if (a=3)
{
Menu, Tray, Icon,c:\iconsx32\icon3.ico,1,1 ; change tray icon
;send {????}
a := 1
}}}
return

esc::exitapp