CapsLock 键切换中英文
用惯了 Mac 上的 CapsLock 键切换中英文输入,回到 Windows 上就觉得按一下 Shift 非常不习惯,于是就通过 AutoHotKey 来实现这个功能
本文所编写的脚本是基于 AutoHotKey v1.1 版本,并且实现的前提是处于微软拼音输入法下(其他输入法并没有实测过)
准备工作
- 下载安装 AutoHotKey,建议下载 v2 版本,因为 v1 版本已经停止维护,同时 v2 版本的语法更加简洁,也兼容 v1 版本的脚本
- 这里也附上 AutoHotKey 的中文社区,里面可以找到许多教程和脚本
具体操作
脚本创建
- 打开安装好的 AutoHotKey Dash ,创建一个新脚本
- 填好文件的相关信息后,选择 Edit,便会跳出包含该文件的文件夹
- 使用记事本、VSCode 或者其他编辑器打开该文件,输入以下代码
SetStoreCapslockMode, off
CapsLock::
If StartTime
return
StartTime := A_TickCount
return
CapsLock up::
TimeLength := A_TickCount - StartTime
if (TimeLength >= 1 and TimeLength < 200) {
Send, ^{Space}
}
else if (TimeLength >= 200) {
Send, {CapsLock}
}
StartTime := ""
return - 该代码效果如下:短按 CapsLock 键 200ms 以下切换中英文输入(也就是 Ctrl + Space),长按 200ms 以上切换大小写(和 Mac 上的逻辑一致)
编译成 exe 文件
- 使用 AutoHotKey Dash 中的 compile 功能,将脚本编译成 exe 文件,这样就可以在实现开机启动时自动运行了
- 选择好内容,最后点击 Convert 即可
- 此时在 ahk 文件的同个目录下会生成一个 exe 文件
开机启动
- 将上述的 exe 文件创建一个快捷方式,然后放到开机启动文件夹
C:\Users\[你的用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
中,这样就可以实现开机自动运行了(当然也可以直接将 exe 文件丢到该文件夹)
总结
- 虽然也可以通过改键来实现这个操作,但是不能实现长短按的效果区分
- 此处顺带安利一个 Windows 下的工具箱 PowerToys 里面的 Keyboard Manager 可以实现改键的功能,但是没有长短按的效果区分
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SuburbiaXX!