mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-01 11:22:58 +00:00
276 lines
8.6 KiB
XML
276 lines
8.6 KiB
XML
<!-- Do not edit this file directly, edit its companion .md instead
|
||
and regenerate this file using nixos/doc/manual/md-to-db.sh -->
|
||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-input-methods">
|
||
<title>Input Methods</title>
|
||
<para>
|
||
Input methods are an operating system component that allows any
|
||
data, such as keyboard strokes or mouse movements, to be received as
|
||
input. In this way users can enter characters and symbols not found
|
||
on their input devices. Using an input method is obligatory for any
|
||
language that has more graphemes than there are keys on the
|
||
keyboard.
|
||
</para>
|
||
<para>
|
||
The following input methods are available in NixOS:
|
||
</para>
|
||
<itemizedlist spacing="compact">
|
||
<listitem>
|
||
<para>
|
||
IBus: The intelligent input bus.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Fcitx: A customizable lightweight input method.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Nabi: A Korean input method based on XIM.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Uim: The universal input method, is a library with a XIM bridge.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Hime: An extremely easy-to-use input method framework.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Kime: Korean IME
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<section xml:id="module-services-input-methods-ibus">
|
||
<title>IBus</title>
|
||
<para>
|
||
IBus is an Intelligent Input Bus. It provides full featured and
|
||
user friendly input method user interface.
|
||
</para>
|
||
<para>
|
||
The following snippet can be used to configure IBus:
|
||
</para>
|
||
<programlisting>
|
||
i18n.inputMethod = {
|
||
enabled = "ibus";
|
||
ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
|
||
};
|
||
</programlisting>
|
||
<para>
|
||
<literal>i18n.inputMethod.ibus.engines</literal> is optional and
|
||
can be used to add extra IBus engines.
|
||
</para>
|
||
<para>
|
||
Available extra IBus engines are:
|
||
</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a
|
||
system for Japanese input method. It converts Hiragana text to
|
||
Kana Kanji mixed text.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Hangul (<literal>ibus-engines.hangul</literal>): Korean input
|
||
method.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
m17n (<literal>ibus-engines.m17n</literal>): m17n is an input
|
||
method that uses input methods and corresponding icons in the
|
||
m17n database.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
mozc (<literal>ibus-engines.mozc</literal>): A Japanese input
|
||
method from Google.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Table (<literal>ibus-engines.table</literal>): An input method
|
||
that load tables of input methods.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
table-others (<literal>ibus-engines.table-others</literal>):
|
||
Various table-based input methods. To use this, and any other
|
||
table-based input methods, it must appear in the list of
|
||
engines along with <literal>table</literal>. For example:
|
||
</para>
|
||
<programlisting>
|
||
ibus.engines = with pkgs.ibus-engines; [ table table-others ];
|
||
</programlisting>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<para>
|
||
To use any input method, the package must be added in the
|
||
configuration, as shown above, and also (after running
|
||
<literal>nixos-rebuild</literal>) the input method must be added
|
||
from IBus’ preference dialog.
|
||
</para>
|
||
<section xml:id="module-services-input-methods-troubleshooting">
|
||
<title>Troubleshooting</title>
|
||
<para>
|
||
If IBus works in some applications but not others, a likely
|
||
cause of this is that IBus is depending on a different version
|
||
of <literal>glib</literal> to what the applications are
|
||
depending on. This can be checked by running
|
||
<literal>nix-store -q --requisites <path> | grep glib</literal>,
|
||
where <literal><path></literal> is the path of either IBus
|
||
or an application in the Nix store. The <literal>glib</literal>
|
||
packages must match exactly. If they do not, uninstalling and
|
||
reinstalling the application is a likely fix.
|
||
</para>
|
||
</section>
|
||
</section>
|
||
<section xml:id="module-services-input-methods-fcitx">
|
||
<title>Fcitx</title>
|
||
<para>
|
||
Fcitx is an input method framework with extension support. It has
|
||
three built-in Input Method Engine, Pinyin, QuWei and Table-based
|
||
input methods.
|
||
</para>
|
||
<para>
|
||
The following snippet can be used to configure Fcitx:
|
||
</para>
|
||
<programlisting>
|
||
i18n.inputMethod = {
|
||
enabled = "fcitx";
|
||
fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ];
|
||
};
|
||
</programlisting>
|
||
<para>
|
||
<literal>i18n.inputMethod.fcitx.engines</literal> is optional and
|
||
can be used to add extra Fcitx engines.
|
||
</para>
|
||
<para>
|
||
Available extra Fcitx engines are:
|
||
</para>
|
||
<itemizedlist spacing="compact">
|
||
<listitem>
|
||
<para>
|
||
Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a
|
||
system for Japanese input method. It converts Hiragana text to
|
||
Kana Kanji mixed text.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is
|
||
an intelligent Zhuyin input method. It is one of the most
|
||
popular input methods among Traditional Chinese Unix users.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Hangul (<literal>fcitx-engines.hangul</literal>): Korean input
|
||
method.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese
|
||
input method.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input
|
||
method that uses input methods and corresponding icons in the
|
||
m17n database.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input
|
||
method from Google.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
table-others (<literal>fcitx-engines.table-others</literal>):
|
||
Various table-based input methods.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</section>
|
||
<section xml:id="module-services-input-methods-nabi">
|
||
<title>Nabi</title>
|
||
<para>
|
||
Nabi is an easy to use Korean X input method. It allows you to
|
||
enter phonetic Korean characters (hangul) and pictographic Korean
|
||
characters (hanja).
|
||
</para>
|
||
<para>
|
||
The following snippet can be used to configure Nabi:
|
||
</para>
|
||
<programlisting>
|
||
i18n.inputMethod = {
|
||
enabled = "nabi";
|
||
};
|
||
</programlisting>
|
||
</section>
|
||
<section xml:id="module-services-input-methods-uim">
|
||
<title>Uim</title>
|
||
<para>
|
||
Uim (short for <quote>universal input method</quote>) is a
|
||
multilingual input method framework. Applications can use it
|
||
through so-called bridges.
|
||
</para>
|
||
<para>
|
||
The following snippet can be used to configure uim:
|
||
</para>
|
||
<programlisting>
|
||
i18n.inputMethod = {
|
||
enabled = "uim";
|
||
};
|
||
</programlisting>
|
||
<para>
|
||
Note: The <xref linkend="opt-i18n.inputMethod.uim.toolbar" />
|
||
option can be used to choose uim toolbar.
|
||
</para>
|
||
</section>
|
||
<section xml:id="module-services-input-methods-hime">
|
||
<title>Hime</title>
|
||
<para>
|
||
Hime is an extremely easy-to-use input method framework. It is
|
||
lightweight, stable, powerful and supports many commonly used
|
||
input methods, including Cangjie, Zhuyin, Dayi, Rank, Shrimp,
|
||
Greek, Korean Pinyin, Latin Alphabet, etc…
|
||
</para>
|
||
<para>
|
||
The following snippet can be used to configure Hime:
|
||
</para>
|
||
<programlisting>
|
||
i18n.inputMethod = {
|
||
enabled = "hime";
|
||
};
|
||
</programlisting>
|
||
</section>
|
||
<section xml:id="module-services-input-methods-kime">
|
||
<title>Kime</title>
|
||
<para>
|
||
Kime is Korean IME. it’s built with Rust language and let you get
|
||
simple, safe, fast Korean typing
|
||
</para>
|
||
<para>
|
||
The following snippet can be used to configure Kime:
|
||
</para>
|
||
<programlisting>
|
||
i18n.inputMethod = {
|
||
enabled = "kime";
|
||
};
|
||
</programlisting>
|
||
</section>
|
||
</chapter>
|