Fcitx

Aus wiki.archlinux.de

Fcitx ist ein Eingabemodi-Framework (IME) für (unter anderem) ostasiatische Sprachen, also Chinesisch, Japanisch und Koreanisch. Im Gegensatz zu den europäischen Sprachen ist keine 1:1-Zuordnung zwischen den Tasten auf der Tastatur und dem Buchstaben im Computer gegeben. Fcitx steht dazwischen und wandelt die Tastendrücke in die entsprechenden Zeichen um.

Installation

Das Programm ist als fcitx in community verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S fcitx

Um den Cursor on-the-spot zu erhalten (d.h., dass der Cursor direkt im Textfeld erscheint und der umliegende Text umgebrochen wird) müssen Eingabemethoden-Module für GTK und Qt installiert werden. Diese sind in den Paketen fcitx-gtk2 (für GTK2-Programme), fcitx-gtk3 (für GTK3-Programme) und fcitx-qt4 (für Qt4-Programme) und fcitx-qt5 (für Qt5-Programme) enthalten. Durch die Installation des Meta-Paketes fcitx-im werden alle installiert (mit Ausnahme von fcitx-qt5).

Einrichtung und Benutzung

Zur Einrichtung müssen zuvor mehrere Umgebungsvariablen gesetzt werden. Diese können für jeden Benutzer in die Dateien .xprofile oder .profile bei KDM, GDM oder LightDM bzw. .xinitrc bei startx bzw. SLiM, bzw. systemweit in die Datei /etc/profile eingetragen werden.

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

Für die Integration in die Desktopumgebungen müssen die Pakete kcm-fcitx und kdeplasma-addons-applets-kimpanel (für KDE) bzw. fcitx-configtool installiert werden.

Die einzelnen Eingabemethoden basieren jeweils auf einem Tastaturlayout, welches im Normallfall nicht das deutsche ist. Im chinesischen Fall ist es das US-amerikanische Tastaturlayout, im japanischen Fall das japanische Layout. In der Standardeinstellung gilt die deutsche Tastatur auch für die CJK-Sprachen, so dass insbesondere Sonderzeichen nicht wie erwartet erreichbar sind. Fcitx kann im Gegensatz zu den anderen Eingabe-Frameworks (beispielsweise Ibus) allerdings ein zugrundelegendes Tastaturlayout für jede Sprache einzeln auswählen, was insbesondere für deutsche Nutzer ein großer Vorteil ist. Fcitx schaltet anschließend im Hintergrund das Xorg-Tastaturlayout automatisch um.

Das Prinzip von Fcitx basiert darauf, dass ein primäres Tastaturlayout aktiviert ist, wenn der Eingabemodus von Fcitx deaktiviert ist. Dieses Tastaturlayout ist immer das erste in der Liste im Konfigurationsfenster. Mit der Tastenkombination Strg+Leertaste wird anschließend der Eingabemodus aktiviert und auf eine Eingabemethode umgeschaltet (beispielsweise Japanisch oder Chinesisch), bei einem erneuten Druck von Strg+Leertaste wieder auf deaktiviert und das deutsche Layout ist wieder aktiv. Wenn der Eingabemodus aktiv ist kann mit Hilfe von Strg+Umschalt durch die Eingabemethoden geschaltet werden. Es ist auch möglich, „normale“ Tastaturlayouts hinzuzufügen. So kann eine mögliche Konfiguration beispielsweise aus einem primären deutschen Layout sowie Japanisch und einem russischen und einem arabischen Tastaturlayout bestehen. Fcitx übernimmt bei einfachen Tastaturlayouts die Konfiguration des X-Servers.

Sprachen

Zur Umwandlung der Sprachen selber müssen noch jeweils Eingabemethoden (IME) installiert werden. Nach der Installation eines neuen Paketes muss Fcitx neu gestartet werden (kann mit einem Rechtsklick auf das Fcitx-Symbol erreicht werden).

Japanisch

Für Japanisch gibt es die Pakete fcitx-mozc, fcitx-anthy und fcitx-kkc.

Mozc wird von Google entwickelt und ist die Open-Source-Version des Google Japanese Inputs. Da die Entwicklung rein bei Google liegt, passt es sich nicht so gut in Fcitx ein wie die anderen Eingabemethoden. Außerdem fehlt eine deutsche Übersetzung. Anstelle fcitx-mozc kann auch fcitx-mozc-utAUR aus dem AUR installiert werden. Mozc-ut umfasst ein größeres Wörterbuch und Features wie ein Postleitzahlenwörterbuch (siehe http://www.geocities.jp/ep3797/mozc_01.html).

Anthy ist ein reines Open-Source-Programm, wird allerdings seit 2009 nicht mehr weiterentwickelt.

Nähere Informationen findet man in dem Artikel Japanische Eingabemethoden.

Chinesisch

Im chinesischen Fall gibt es eine sehr umfangreiche Auswahl von Eingabemethoden. Es muss zwischen Lang- und Kurzzeichen unterschieden werden, außerdem zwischen der Eingabemethode (Pinyin, Zhuyin, Wubi, Cangjie usw).

Für die Anwender von Kurzzeichen können die Eingabemethoden fcitx-cloudpinyin, fcitx-sunpinyin, fcitx-googlepinyin oder fcitx-libpinyin verwendet werden.

Für Langzeichen (bzw. taiwanisches Mandarin) können die Pakete fcitx-chewing bzw. fcitx-rime verwendet werden. Chewing ist insbesondere auf die Eingabe mit Zhuyin ausgerichtet und unterstützt eine Eingabe mit Pinyin nur sehr unzureichend, hat allerdings eine gute Unterstützung für das taiwanische Vokabular. Eine Alternative ist Rime, welches eine wesentlich bessere Unterstützung für Langzeichen mit Pinyin bietet. So unterstützt es die in Taiwan gebräuchlichen Langzeichenvarianten wie z.B.  oder wie auch taiwanisches Vokabular (wie lese anstatt laji).

Obwohl Fcitx für Google Pinyin bzw. Chewing mit Hilfe eines Konverters auch die jeweils andere Zeichenform ermöglicht, ist dies insbesondere von Kurzzeichen zu Langzeichen nur schlecht möglich. So erscheint bei der Eingabe von toufa erscheint(頭髮 bzw. 头发) beispielsweise inkorrekterweise 頭發.

Nähere Informationen findet man in dem Artikel Chinesische Eingabemethoden.

Koreanisch

Für Koreanisch kann das Paket fcitx-hangul verwendet werden. Im Gegensatz zu Chinesisch und Japanisch benötigt Koreanisch nur wenig Konfiguration. Eine Konfigurationsmöglichkeit ist die des Tastaturlayouts. Diese kann im Normalfall auf der Voreinstellung Dubeolsik (두벌식) belassen werden. Ansonsten ist nur die Konfiguration der Hanja-Taste sinnvoll, für den Fall, dass man Hanja schreiben möchte. Diese liegt allerdings schon zu Beginn auf F9, so dass nach dem Druck auf F9 eine Auswahlmöglichkeit erscheint.

Sinhala

Bitte fcitx-sayura installieren.

IPA

Um das internationale phonetische Alphabet mit Hilfe von X-SAMPA bequem schreiben zu können, kann das Paket fcitx-table-other installiert werden.

Eine Übersicht zu den X-SAMPA-Tastaturcodes findet sich auf Wikipedia unter dem Artikel zu X-SAMPA.

Tipps und Tricks

Eingabemethoden auf Tastaturkürzel legen

Die Eingabemethoden lassen sich mittels D-Bus umschalten. Dadurch kann man beispielsweise die Eingabemethoden im KDE-Kontrollzentrum auf verschiedene Tastaturkürzel legen. Dazu muss ein neuer D-Bus-Aufruf-Kurzbefehl mit folgenden Werten eingerichtet werden:

   Programm auf Fremdrechner: org.fcitx.Fcitx
   Objekt auf Fremdrechner: /inputmethod
   Funktion: org.fcitx.Fcitx.InputMethod.SetCurrentIM
   Argumente: mozc, chewing, hangul, fcitx-keyboard-de-deadgraveacute ...
   

Fcitx im Terminal

Wenn kein X-Server benutzt wird, kann Fcitx trotzdem mittels FBTerm verwendet werden. Dazu müssen die Pakete fcitx-fbterm sowie die entsprechenden Eingabemethoden installiert werden.

Zuvor muss noch FBTerm konfiguriert werden, siehe dazu den Artikel FBTerm.

Häufige Fehler

Cursor folgt nicht

Die häufigste Fehlerursache hierbei ist, dass die IM-Module nicht installiert und konfiguriert worden sind. Allerdings behebt dies den Fehler nur bei GTK-, WxWidgets- und Qt-Programmen. Insbesondere bei Java-Programmen muss man mit dem Eingabemodus leben.

Bei 32-Bit-Programmen wie Skype, die auf Qt basieren, kann der Fehler auftreten, da kein 32-Bit-IM-Modul installiert ist. Dafür muss das Paket lib32-fcitxAUR aus dem AUR installiert werden (Achtung: Vorher muss der Multilib-GCC aus gcc-multilib installiert sein).

Wenn der Cursor bei Libreoffice nicht folgt, kann es daran liegen, dass das Paket libreoffice-gnome nicht installiert ist. Selbst wenn man KDE nutzt, muss dieses Paket installiert sein. Im Gegensatz dazu darf libreoffice-kde4 nicht installiert werden.