dingwen07
V2EX  ›  Windows

在 Windows 设置使用 Caps Lock 切换输入法中英文(PowerToys)

  •  
  •   dingwen07 · Jun 29, 2022 · 7347 views
    This topic created in 1588 days ago, the information mentioned may be changed or developed.

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

    img1

    img2

    因为一开始没有弄懂 PowerToys 的规则所以 Shift+CapsLock 一直实现不了。。。

    10 replies  •  2025-12-15 19:29:40 +08:00
    ByteCat
    ByteCat
    Jun 29, 2022
    1
    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}
    ```
    butanediol2d
    butanediol2d
    Jun 29, 2022
    2
    @ByteCat #1 我之前也用过 AHK 解决这个问题,但是效果不是特别好,不知道跟你这个是不是一样。

    我现在直接用的 Rime ,把 capslock 设置为切换中英文了。
    wyf88
    wyf88
    Jun 30, 2022 via iPhone❤️12
    3
    我的 AHK 命令,模拟 macOS ,短按 CapsLock 切换输入法,长按切换大小写
    ```
    CapsLock::
    KeyWait, CapsLock, T0.45
    if (ErrorLevel)
    SetCapsLockState, % (t:=!t) ? "On" : "Off"
    else
    Send ^{Space}
    KeyWait, CapsLock
    return
    ```
    F4NNIU
    F4NNIU
    Jun 30, 2022 via iPhone
    4
    @wyf88 谢谢,捡到宝了。👍
    shi05275
    shi05275
    Jun 30, 2022
    5
    @wyf88 学习了
    kid1412621
    kid1412621
    Jun 30, 2022 via Android
    6
    powertoys 貌似没办法实现长按?
    workingonescape
    workingonescape
    Mar 3, 2023
    7
    @wyf88 老哥牛逼,亲测有效
    HeraingBus
    HeraingBus
    Jul 1, 2023
    8
    @wyf88 您可太强了
    zhangly7
    zhangly7
    Jun 11, 2025
    9
    AHK v2 的实现

    CapsLock:: {
    static t := false
    result := KeyWait("CapsLock", "T0.45")
    if (!result) {
    t := !t
    SetCapsLockState(t ? "On" : "Off")
    } else {
    Send("^{Space}")
    KeyWait("CapsLock")
    }
    }
    honue
    honue
    Dec 15, 2025
    10
    写了个切换的小工具,切换带悬浮窗显示,https://github.com/honue/TapCaps
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5323 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 412ms · UTC 01:29 · PVG 09:29 · LAX 17:29 · JFK 20:29
    ♥ Do have faith in what you're doing.