panxuc

fcitx5-wetypex

panxuc

WeTypeX is an Fcitx5 input method plugin for the Linux desktop that reuses the official WeChat keyboard runtime for pinyin, cloud candidates, voice input and cross-device clipboard.

v3.0.1.684-5
Published at
1d ago
308
Stars
3,583
Download
Synced at
23h ago

Latest release

v3.0.1.684-5Nov 12, 2026, 11:42 AM
Downloads slow? Switch the source anytime above

README

Project Overview

When you want the WeChat keyboard's dictionary, cloud candidates and device sync on a Linux desktop, WeTypeX provides a compatibility layer that plugs into Fcitx5. It extracts the input core and dictionaries from the official macOS package, runs them behind a Mach-O ABI host that maps Darwin-only interfaces onto Linux, and routes networking through the system TLS and WebSocket stack. The adapter is written in C++, its engine host and account commands run inside a Bubblewrap sandbox, and the combination tested so far is Arch Linux with KDE Plasma on Wayland.

Item Value
Platform Linux x86_64
Host Fcitx5
Input core Official 2.2.3.657
Language C++ / CMake
License MIT

The input core and dictionaries still come from the official package; WeTypeX only fills the layer missing between Linux and Fcitx5.

Supported Hosts

  • Fcitx5: loads as a native input method plugin and leaves candidates, preedit, paging and selection to Fcitx5
  • Fcitx5 settings page: hotkeys, candidate count, theme and fuzzy pinyin appear there through the ExternalOption extension
  • NixOS: the flake exposes packages.x86_64-linux.fcitx5-wetypex and a default alias
  • Older framework: glibc 2.31 systems such as Ubuntu 20.04 need Fcitx5 5.0.14+, fcitx5-qt 5.0.10+ and LibIME 1.0.11+

Key Features

  • Pinyin input: full pinyin, double pinyin and Wubi share the official 2.2.3.657 core and dictionaries, so candidate order matches the original
  • Merged cloud candidates: local and desktop cloud candidates form one list, and new cloud entries are marked separately
  • Cross-device clipboard: text and raw PNG images sync both ways after devices pair with the official six-digit code
  • Voice input: streams from PipeWire or PulseAudio and reuses the original engine for VAD, recognition and live preedit
  • Ask AI: press = with no active composition to send the text before the cursor, or open a separate answer window
  • Air transfer: official transfer codes and QR codes over the original Flurry LAN and WXP2P direct or relay channels
  • V toolbar: V opens calculators, clipboard, phrases and symbols, and a result can be committed straight into the field
  • WeChat stickers: suggested only inside a recognised WeChat client, using artwork from the installed package
  • Dictionary and phrases: stored locally, with the device-group syncer already wired in

Install and Enable

  1. On Arch Linux run sudo pacman -U ./fcitx5-wetypex-2.2.3.657-16-x86_64.pkg.tar.zst, or install from the AUR with paru -S fcitx5-wetypex
  2. On Debian or Ubuntu run sudo apt install ./fcitx5-wetypex_2.2.3.657-16_amd64.deb; glibc 2.31 systems switch to the fcitx5-wetypex-legacy package
  3. On Fedora run sudo dnf install ./fcitx5-wetypex-2.2.3.657-16.x86_64.rpm
  4. Run fcitx5-wetypex-setup --archive /path/to/WeType_2.2.3_657.zip to extract the official runtime, or add --download --accept-upstream-license to let the script fetch it
  5. Run fcitx5-wetypex-setup --check and confirm both manifest.txt and image.macho exist
  6. Add WeTypeX in the Fcitx5 configuration tool, then run fcitx5-remote -r to reload it
  7. On NixOS add this flake as inputs.wetypex and put wetypex.packages.${pkgs.stdenv.hostPlatform.system}.fcitx5-wetypex into i18n.inputMethod.fcitx5.addons

Shortcuts and Daily Use

  • Shift: toggles Chinese and English input, enabled by default
  • Ctrl + .: toggles Chinese and English punctuation
  • - and =: page up and down while a pinyin composition is active
  • V: opens the quick toolbar; press V, Esc or the close button to leave
  • Ctrl + Win: hold to talk and release to stop; Ctrl + Win + Shift toggles a session instead
  • fcitx5-wetypex-account: group-info, pairing-code and sync-now inspect the device group, mint a six-digit code and sync immediately

Data Directories

Content Default path
Official core and dictionaries ~/.local/share/fcitx5-wetypex/runtime
Account identity and service state ~/.local/share/fcitx5-wetypex/account
User dictionary, phrases and sync state ~/.local/share/fcitx5-wetypex/state
Extracted interface assets ~/.local/share/fcitx5-wetypex/ui
WeTypeX settings ~/.config/fcitx5/wetypex.json

Removing the system package leaves these directories untouched. Back them up and delete account and state/sync-state.json only when you want to pair again, never during a normal upgrade.

Notes

  • Official runtime required: the package ships only the adapter, so the input core and dictionaries still come from WeType_2.2.3_657.zip and a mismatched version stops the core from starting
  • Sandbox boundaries: password contexts never reach the input core, clipboard history or AI, while ordinary sensitive fields in a browser still work
  • Test scope: only Arch Linux with KDE Plasma on Wayland has been verified, so other distributions must match library versions themselves
  • Build-time switches: the four Nix booleans enableAI, enableVoice, enableLayerShell and enableWeTypeTheme are fixed at build time and cannot be re-enabled from the interface
  • Preference limits: defaultSettings may not exceed 16 KiB once serialised, the initial file is created with mode 0600, and existing files or symlinks are never overwritten

Release history

Sort