AutoHotKey脚本更改了输入语言,如何避免这种情况?

时间:2019-01-13 16:38:29

标签: windows-10 autohotkey

; switch between virtual desktops (win10)
; supposed to be launched in initial desktop
flag := 0
LAlt & D::
if(flag = 0){
    send, {Control Down} {LWin Down} {Right} {Control Up} {LWin Up}
    flag := 1
    Return
}
else{
    send, {Control Down} {LWin Down} {Left} {Control Up} {LWin Up}
    flag := 0
    Return
}

应用后,有机会显示语言栏,甚至更改输入语言。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

虽然我不能确定为什么它会打开语言栏,但本文显示了如何禁用语言栏的内置热键: https://winaero.com/blog/change-hotkeys-switch-keyboard-layout-windows-10/

您的代码也可能存在一些小问题。括号之间似乎有空隙; Send命令将发送那些空格。当然,我不希望这会导致您遇到的问题。

这是您的代码的精简版,可能表现得更好:

.Rmd

以下是使用三元运算符的精简版本:

<!d::
flag := !flag
If flag
    Send , ^#{right}
Else
    Send , ^#{left}
Return

这里是一行:

<!d::
sKeyName := ( flag := !flag ) ? "right" : "left"
Send , ^#{%sKeyName%}
Return

我不知道是否可以将所有内容放在一起,所以今天我学到了一些东西。 :D