<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Fcitx5 on Home</title><link>https://yecnay.net/tags/fcitx5/</link><description>Recent content in Fcitx5 on Home</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 21 Sep 2026 11:34:52 +0800</lastBuildDate><atom:link href="https://yecnay.net/tags/fcitx5/index.xml" rel="self" type="application/rss+xml"/><item><title>fcitx5-rime 中英文切换修复说明</title><link>https://yecnay.net/posts/tech/fcitx5-rime-%E4%B8%AD%E8%8B%B1%E6%96%87%E5%88%87%E6%8D%A2-%E4%BF%AE%E5%A4%8D%E8%AF%B4%E6%98%8E/</link><pubDate>Mon, 21 Sep 2026 11:34:52 +0800</pubDate><guid>https://yecnay.net/posts/tech/fcitx5-rime-%E4%B8%AD%E8%8B%B1%E6%96%87%E5%88%87%E6%8D%A2-%E4%BF%AE%E5%A4%8D%E8%AF%B4%E6%98%8E/</guid><description>&lt;h1 id="fcitx5-rime万象输入法shiftcapslock-中英文切换失效--修复说明"&gt;fcitx5-rime（万象输入法）Shift/CapsLock 中英文切换失效 — 修复说明&lt;/h1&gt;
&lt;h2 id="1-原因root-cause"&gt;1. 原因（Root Cause）&lt;/h2&gt;
&lt;p&gt;问题不在 rime 的配置，而在 &lt;strong&gt;Omarchy/Hyprland 的键盘层把 CapsLock 和 Shift 截胡了&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Omarchy 默认的 Hyprland 配置（&lt;code&gt;/usr/share/omarchy/default/hypr/input.lua&lt;/code&gt;）里设置了：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-lua" data-lang="lua"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;local&lt;/span&gt; &lt;span class="n"&gt;kb_options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;compose:caps,shift:both_capslock_cancel&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;它在&lt;strong&gt;合成器/XKB 层面&lt;/strong&gt;（比 fcitx5 更底层）改键：&lt;/p&gt;
&lt;h3 id="composecaps"&gt;&lt;code&gt;compose:caps&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;把 &lt;strong&gt;CapsLock 键改成了 Compose 键（Multi_key）&lt;/strong&gt;。按 CapsLock 时，Hyprland 发给
fcitx5 的不是 &lt;code&gt;Caps_Lock&lt;/code&gt;，而是 &lt;code&gt;Multi_key&lt;/code&gt;。fcitx5-rime 会把它当作组合键
（compose 序列）吞掉，&lt;strong&gt;根本不会转发给 rime&lt;/strong&gt;，所以 rime 里的 &lt;code&gt;Caps_Lock: clear&lt;/code&gt;
（切换中英）永远收不到这个键。&lt;/p&gt;
&lt;h3 id="shiftboth_capslock_cancel"&gt;&lt;code&gt;shift:both_capslock_cancel&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;双 Shift 组合触发 CapsLock、单 Shift 取消它，干扰了 rime 的“单击 Shift 切换中英”
逻辑。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;rime 配置本身是对的（&lt;code&gt;~/.local/share/fcitx5/rime/default.yaml&lt;/code&gt; 里
&lt;code&gt;ascii_composer/switch_key&lt;/code&gt; 的 &lt;code&gt;Caps_Lock: clear&lt;/code&gt;、&lt;code&gt;Shift_L/R: commit_code&lt;/code&gt;
都在，且已正确部署到 &lt;code&gt;build/&lt;/code&gt;），问题就出在这一层键位重映射上。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="2-修复what-i-did"&gt;2. 修复（What I did）&lt;/h2&gt;
&lt;p&gt;在用户覆盖文件 &lt;code&gt;~/.config/hypr/input.lua&lt;/code&gt;（原文件已备份）里加了覆盖，清空
&lt;code&gt;kb_options&lt;/code&gt;：&lt;/p&gt;</description></item></channel></rss>