需求

有时需要输入日本語,但多装一个语言的输入法会导致平时切换中英文输入法时需要多按一次切换键,很蛋疼。这个日文输入法平时又没用,所以想到可以把某个键改成在中/英文输入法之间切换,奈何windows并没有提供这样的功能,甚至本身切换到某个语言的快捷键的可选项也很少。

win10给的快捷键(设置-语言-键盘-输入语言热键):
2023-06-09T11:10:04.png

实现

参考 https://github.com/Miraium/ctrl-ime-ahk
下载IME.ahk,和自己脚本放一起,之前没用过autohotkey,不太懂原理,就当黑盒用了。
实测IME_SET不太好用,就用暴力一点的方法,照上图把快捷键都绑好。
然后在按下capslock时(刚好这个键没啥吊用,利用一下)判断当前输入法是否是英文,是的话就按切到中文的快捷键;否则按切到英文的快捷键。
脚本如下:

#Include IME.ahk
CAPSLOCK::
{
    if IME_GET() = 0
        Send !+2
    ELSE 
        Send !+1
}

之后要让他开机启动,好像扔个快捷方式到开始菜单的程序/启动(Program\Startup)下就可以了,但我好久没重启了不太清楚有没有起效果。

问题

貌似给切换到英文输入法绑的快捷键(alt+shift+1)在注销后会失效,还得研究下怎么解决

解决了,方法参考:https://zhuanlan.zhihu.com/p/133632205?utm_id=0