Fcitx
Fcitx (Flexible Context-aware Input Tool with eXtension support) [ˈfaɪtɪks] is an input method framework with support for many languages and scripts.
Installation
USE flags
USE flags for app-i18n/fcitx Fcitx 5 is a generic input method framework
+X
|
Add support for X11 |
+autostart
|
Enable XDG-compatible autostart of Fcitx |
+cairo
|
Enable support for the cairo graphics library |
+emoji
|
Enable emoji loading for CLDR |
+enchant
|
Enable Enchant backend (using app-text/enchant) for spelling hinting |
+gtk3
|
Install input method module for GTK+ 3 |
+introspection
|
Add support for GObject based introspection |
+keyboard
|
Enable key event translation with XKB and build keyboard engine |
+pango
|
Enable support for x11-libs/pango |
+server
|
Build a fcitx as server, disable this option if you want to use fcitx as an embedded library |
+table
|
Install table input methods for Simplified Chinese |
+xkb
|
Enable support for XKB (required for fcitx-xkb, fcitx-xkbdbus, part of fcitx-keyboard) |
debug
|
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces |
doc
|
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally |
gtk2
|
Install input method module for GTK+ 2 |
lua
|
Enable Lua scripting support |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
opencc
|
Enable OpenCC engine (using app-i18n/opencc) for converter between Simplified Chinese and Traditional Chinese |
presage
|
Enable presage for word predication (not stable) |
systemd
|
Enable use of systemd-specific libraries and features like socket activation or session tracking |
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
wayland
|
Enable dev-libs/wayland backend |
It is strongly recommended to add the
gtk2
or gtk3
USE flags when applications are installed that make use of these toolkits.Emerge
root #
emerge --ask app-i18n/fcitx
Using Fcitx
In order to use Fcitx in X, the following environment variables must be added to start up files and exported:
When using login managers such as LightDM to start the X server add them to the ~/.xprofile file. When using the startx command or SLiM to login, add them to the ~/.xinitrc file.
If the gtk2
or gtk3
USE flags were used upon installation, <module>
(in the examples below) will be fcitx
, otherwise it should be xim
.
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=<module>
export GTK_IM_MODULE=<module>
Remember, make ~/.xinitrc look like the example below only if using startx or SLiM to start the X server:
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=<module>
export GTK_IM_MODULE=<module>
KDE Plasma: If these environment variables are not getting loaded either from ~/.xprofile nor ~/.xinitrc, try adding them to a Plasma startup script, such as ~/.config/plasma-workspace/env/fcitx.sh.
It is recommended to start the D-Bus session bus before Fcitx starts. Add these to the beginning of the X start up file (~/.xprofile or ~/.xinitrc):
eval "$(dbus-launch --sh-syntax --exit-with-session)"
Note that things can work for some users without this dbus-launch addition.
When desiring to use Fcitx in X, the system locale cannot be C or POSIX.
Configuration
Edit Fcitx's configuration file at ~/.config/fcitx/config
Also, there are GUI tools to configure Fcitx. Install app-i18n/fcitx-configtool (based on GTK2 or GTK3) or app-i18n/kcm-fcitx (based on KDE) to use them.
Frontend
Other than the built-in classic UI, there is also a frontend which integrates into KDE well called Kimpanel (included in kde-plasma/kdeplasma-addons). The dbus
flag must be enabled to use Kimpanel. Once installed, add the kimpanel plasmoid to the plasma panel and fcitx will switch to it by its self.
Specific language support
Chinese
Fcitx itself has built-in pinyin support. Enabling the table
USE flag will provide multiple table-based input methods such as WuBi and Ziranma.
Install app-i18n/fcitx-cloudpinyin to have better results in the candidate words list.
The built-in pinyin use a simple algorithm, and there are other pinyin input methods using other algorithms. Install app-i18n/fcitx-libpinyin or app-i18n/fcitx-rime to use them.
For Bopomofo support app-i18n/fcitx-chewing or app-i18n/fcitx-libpinyin can be installed.
For Cangjie or Boshiamy support install app-i18n/fcitx-table-extra.
Japanese
See also: How to read and write in Japanese — how to read and write in Japanese on a non-Japanese system.
Install app-i18n/fcitx-anthy:
root #
emerge --ask app-i18n/fcitx-anthy
Korean
Install app-i18n/fcitx-hangul:
root #
emerge --ask app-i18n/fcitx-hangul
Vietnamese
Install app-i18n/fcitx-unikey:
root #
emerge --ask app-i18n/fcitx-unikey