fcitx5-rime 中英文切换修复说明

fcitx5-rime(万象输入法)Shift/CapsLock 中英文切换失效 — 修复说明 1. 原因(Root Cause) 问题不在 rime 的配置,而在 Omarchy/Hyprland 的键盘层把 CapsLock 和 Shift 截胡了。 Omarchy 默认的 Hyprland 配置(/usr/share/omarchy/default/hypr/input.lua)里设置了: local kb_options = "compose:caps,shift:both_capslock_cancel" 它在合成器/XKB 层面(比 fcitx5 更底层)改键: compose:caps 把 CapsLock 键改成了 Compose 键(Multi_key)。按 CapsLock 时,Hyprland 发给 fcitx5 的不是 Caps_Lock,而是 Multi_key。fcitx5-rime 会把它当作组合键 (compose 序列)吞掉,根本不会转发给 rime,所以 rime 里的 Caps_Lock: clear (切换中英)永远收不到这个键。 shift:both_capslock_cancel 双 Shift 组合触发 CapsLock、单 Shift 取消它,干扰了 rime 的“单击 Shift 切换中英” 逻辑。 rime 配置本身是对的(~/.local/share/fcitx5/rime/default.yaml 里 ascii_composer/switch_key 的 Caps_Lock: clear、Shift_L/R: commit_code 都在,且已正确部署到 build/),问题就出在这一层键位重映射上。 2. 修复(What I did) 在用户覆盖文件 ~/.config/hypr/input.lua(原文件已备份)里加了覆盖,清空 kb_options: ...

2026年9月21日 · 1 分钟 · Yancey