Skip to content
omarchyFIELD GUIDE
PRACTICAL KNOWLEDGE / FIELD GUIDE

Chinese input: from Fcitx5 and Pinyin to text in your applications

Understand the input layers, configure Pinyin, and verify switching, candidates, and committed text in browsers, terminals, and editors.

Based on public documentation; not hardware-tested. Match the instructions to your version and hardware.

The goal is typing “你好,Omarchy” in an ordinary text field, returning to English, and knowing where to investigate if another application fails. Establish working Pinyin before adding dictionaries, double Pinyin, or Rime so you keep a reliable comparison.

Steps are based on current documentation and pinned source. UI names vary by language and version. This is a teaching workflow, not a hardware or application-combination test report.

Keyboard keys and layout
→ Input-method switching and activation
→ Fcitx5 sends input to the selected engine
→ Pinyin produces candidates
→ Select and commit text
→ Application receives it through an input protocol or module
Part Responsibility Not responsible for
Keyboard layout Key values, such as a US layout Converting nihao into “你好”
Fcitx5 Input methods, state, application interaction Installing the framework alone does not select Pinyin
Pinyin engine Conversion, candidates, dictionaries Choosing how every app connects
Config tool Method list, shortcuts, engine settings A service that must remain open for typing
Application integration Preedit and commits through Wayland or toolkit modules Working just because a dictionary was installed

Caps Lock Compose sequences are not the same as selecting a Chinese engine. Layouts, Compose, Pinyin, and Rime serve different functions. Input and display components

2. Check packages before assuming the engine is missing

Section titled “2. Check packages before assuming the engine is missing”
Terminal window
pacman -Q fcitx5 fcitx5-chinese-addons fcitx5-configtool

Installed packages show names and versions; missing ones report not found. The pinned core manifest already includes fcitx5-chinese-addons, but actual installations, older versions, and personal removals vary. Manifest

When needed, install the engine or tool through Omarchy:

Terminal window
omarchy pkg add fcitx5-chinese-addons fcitx5-configtool

Read the transaction’s package changes. Installation establishes that files exist; you still need the engine in the current list and working in the session.

Terminal window
fcitx5-configtool

Inspect the current list first. Do not add Pinyin again if it is present. Otherwise find it in the add-method dialog; disable the current-language-only filter if it hides other languages.

Keep the keyboard entry needed for direct English input, add Pinyin, and apply. Record the original order and shortcuts for undo. An engine appearing among available methods is not proof it is in the current list.

The pinned source provides a Simplified Chinese Pinyin preset. If you used Omarchy’s language setup, inspect the existing selection before manually changing it, rather than repeatedly overwriting the same settings. Preset source

This source binds Super + I to cycle input languages forward and Super + Shift + I backward. Its Fcitx preset also uses a lone Shift to switch between an engine and direct input; exact behavior depends on the engine and personal settings.

Terminal window
omarchy menu keybindings --print

Check your local list, then test. Do not assume an old guide’s Ctrl + Space is the global Chinese switch: this source reserves it for terminal multiplexers and handles direct input in terminals. Desktop bindings · Fcitx preset

Record any custom key before changing it. Change one combination, test two applications, then decide whether to keep it. Desktop and application shortcuts can conflict.

5. Complete an input transaction, not just an icon change

Section titled “5. Complete an input transaction, not just an icon change”

Use an ordinary text field, not a password or shortcut-recording field:

  1. Click it and confirm the cursor is inside.
  2. Select Pinyin and type nihao.
  3. Observe preedit or candidates, select “你好”, and confirm it is committed into the field.
  4. Type Chinese punctuation, return to direct English input, and type Omarchy.
  5. Edit with Backspace to confirm the application received text rather than only the candidate UI changing.
Observation Stage verified
Switching state changes Input-method selection
Pinyin produces candidates Engine processing
“你好” appears in the app Text commit received
English works after switching back Direct input

An icon change does not prove a successful commit. Misplaced candidates do not mean the engine is inactive.

6. Verify browser, terminal, and editor separately

Section titled “6. Verify browser, terminal, and editor separately”
Place Test and caveat
Ordinary browser text field Same sentence; record candidates and commits
Idle Foot shell prompt Type briefly without pressing Enter, then clear it; Chinese typing does not test whether shell commands are valid
Temporary editor document Enter an editable mode; Neovim normal and insert modes differ

Use the same text and record “switches / candidates / commits.” One fully working app provides a comparison. For failures elsewhere, use application-specific diagnosis before reinstalling everything.

Committed text displayed as boxes may be missing font glyphs, not a switching failure. For candidate displacement, record monitor scale, application backend, and where it occurs.

Record original shortcuts and engine settings. Before larger edits, copy Fcitx configuration:

Terminal window
cp -a -i ~/.config/fcitx5 ~/.config/fcitx5.before-input-edit

Only run it when the source exists. If the destination already exists, choose a new name rather than merging successive configurations and calling the result an original. -a preserves structure and attributes; -i asks before overwriting files.

For simple undo, restore the list and shortcuts in the tool. For directory restoration, stop the input service using the actual session manager, save the present directory separately, follow your backup tool’s restore procedure, and log in again. Do not overwrite a directory while the service may write settings back.

Personal dictionaries and input data may also live in ~/.local/share/fcitx5, depending on the engine. Config alone is not a complete dictionary backup. Rime uses its own engine-specific schemas and dictionaries; Pinyin files are not Rime schemas. See backups.

Reviewed on 2026-10-12: Omarchy input, pinned switch bindings, Fcitx config, and Fcitx5 setup. This covers basic Pinyin; a browser version’s launch flags are not a universal application fix.