前阵子同事抱怨他习惯mac的caps lock切换
我就找时间写了一支ahk打包给他
作业系统 windows 11
使用 Autohotkey 2.x版本
实现的逻辑如下:
1. shift + caps lock 切换大小写锁定
2.长按 caps lock 切换大小写锁定
3.短按 caps lovk 切换语言
4.禁用 shift 切换语言,需保留 shift 组合键功能(如打特殊符号)
姑且算是完成了这些规划的功能
之所以说姑且,是因为我在4的部分卡住了
原本写的逻辑是按shift 0.3秒就会触发按住,小于0.3秒则什么都不做
但这么做会在使用组合键的时候影响使用体验
例如快速的按 shift + / 输入 ? 时,就会因为按下的时间不足而失败
如果调低 0.3秒这个值,就会在短按时触发切换语言
最后我用了一个笨方法
利用 shift 触发任意组合键就不会触发切换语言的特性
让脚本走 shift + space 切换全角,再马上切回来
达到我要的效果,可这个过程看起来真的有点蠢
可能诱发强迫症使我夜不能寐
※ 考虑到给不会调整设定的人直接使用,暂不考虑修改 windows 内建切换语言的快捷键
想请益是否有更好的作法
谢谢Ezhotkey版
/