我可以在 Windows 上按住 Caps Lock 时切换输入法吗?

Mar*_*Ch1 5 windows input-languages

在我的 Linux 计算机上,当我按住 Caps Lock 键时,我的键盘会从英语切换到塞尔维亚语。例如,写 ? 我所要做的就是按住 Caps Lock,然后按哪里的键?是在塞尔维亚语键盘上(在这种情况下,他们的键是 ; 在英语键盘上)。当我释放 Caps Lock 时,键盘“切换回”英文,所以如果我按下 ; 我明白了;如预期的。超级好用。

请注意,我知道如何更改键盘布局。我想使用 Caps Lock 作为修饰键,仅在按住时更改语言!

有没有办法在 Windows 7 或 Windows 8 上复制这种行为?

备注:这有时被称为“第三级”字符切换(例如,按 shift 将是第二级)。我也不那么喜欢 Caps Lock;其他键就可以了。

Luk*_*uke 2

我的测试中最可靠的 AutoHotKey 脚本是这样的:

\n\n
*CapsLock::\nSetKeyDelay -1   ; If the destination key is a mouse button, SetMouseDelay is used instead.\n;send {Blind}{CapsLock DownTemp}\nPostMessage, 0x50, 0x02, 1,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST. 0x02 is forward\nreturn\n\n*CapsLock up::\nSetKeyDelay -1  ; See note below for why press-duration is not specified with either of these SetKeyDelays.\n;send {Blind}{CapsLock Up}\nPostMessage, 0x50, 0x04, 1,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST. 0x04 is backward\nreturn\n
Run Code Online (Sandbox Code Playgroud)\n\n

注意:您需要在 Windows 区域/语言控制面板中设置 2 种输入语言。

\n\n

此处提供独立可执行版本。

\n\n

要停止脚本,请右键单击任务栏中的 H,然后单击暂停/退出。

\n\n

如果您想保留大写锁定的功能(即:按下它将打开大写锁定并更改语言,释放它将恢复到以前的语言但保持大写锁定打开)只需删除两行;开头的两个字符即可send

\n\n

看看我输入的速度有多快:;\xc4\x8d;\xc4\x8d;\xc4\x8d;\xc4\x8d;\xc4\x8d;\xc4\x8d;\xc4\x8d;\xc4\x8d

\n\n

相当快吧?

\n