
本来是 macOS 下面的习惯,两个系统一起用人有点裂开。我想要实现 CapsLock 切换输入法语言,Shift+CapsLock 切换大小写锁定,方法是把 CapsLock 用“重新映射键”改成输入法里的切换中英文快捷键,然后用“重新映射快捷键”把 Shift+切换中英文快捷键(而不是 Shift+CapsLock )映射成 Shift+CapsLock 。


因为一开始没有弄懂 PowerToys 的规则所以 Shift+CapsLock 一直实现不了。。。
1 ByteCat Jun 29, 2022 AutoHotKey 两行搞定了 ``` #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. CapsLock:: Send, #{Space} ``` |
2 butanediol2d Jun 29, 2022 |
3 wyf88 Jun 30, 2022 via iPhone 我的 AHK 命令,模拟 macOS ,短按 CapsLock 切换输入法,长按切换大小写 ``` CapsLock:: KeyWait, CapsLock, T0.45 if (ErrorLevel) SetCapsLockState, % (t:=!t) ? "On" : "Off" else Send ^{Space} KeyWait, CapsLock return ``` |
6 kid1412621 Jun 30, 2022 via Android powertoys 貌似没办法实现长按? |
7 workingonescape Mar 3, 2023 @wyf88 老哥牛逼,亲测有效 |
8 HeraingBus Jul 1, 2023 @wyf88 您可太强了 |
9 zhangly7 Jun 11, 2025 AHK v2 的实现 CapsLock:: { static t := false result := KeyWait("CapsLock", "T0.45") if (!result) { t := !t SetCapsockState(t ? "On" : "Off") } else { Send("^{Space}") KeyWait("CapsLock") } } |
10 honue Dec 15, 2025 写了个切换的小工具,切换带悬浮窗显示,https://github.com/honue/TapCaps |