Input method: Difference between revisions
(→Fcitx and Fcitx5: Add link to Fcitx wiki) |
m (Change libvarnam to govarnam, as libvarnam is deprecated and govarnam is the suggested method for installation) |
||
(7 intermediate revisions by 7 users not shown) | |||
Line 28: | Line 28: | ||
Most IMEs work as part of an '''input method framework''' (commonly abbreviated as IMF), which is an application that allows the user to easily switch between different IMEs. In fact, this is the exact same application that many of us unknowingly use everyday to switch between the different Latin keyboard layouts (e.g. English, Spanish, German, etc). | Most IMEs work as part of an '''input method framework''' (commonly abbreviated as IMF), which is an application that allows the user to easily switch between different IMEs. In fact, this is the exact same application that many of us unknowingly use everyday to switch between the different Latin keyboard layouts (e.g. English, Spanish, German, etc). | ||
The most common IMF is [[IBus]] (often used in [[GTK]]-based environments like [[GNOME]]), followed by | The most common IMF is [[IBus]] (often used in [[GTK]]-based environments like [[GNOME]]), followed by [[Fcitx5]] (mostly used in [[Qt]]-based environments like [[KDE]]), [[Scim]], [[Fcitx]], and [[Uim]]. Very uncommon ones include [[Gcin]], [[Nimf]] and Hime. [https://pkgstats.archlinux.de/compare/packages#packages=fcitx,fcitx5,gcin,hime,ibus,nimf,scim,uim] Additionally, [[Emacs]] is a very popular text editor that has its own internal IMF. | ||
See also [[Wikipedia:List of input methods for Unix platforms]]. | See also [[Wikipedia:List of input methods for Unix platforms]]. | ||
Line 63: | Line 63: | ||
| {{Pkg|fcitx5-chinese-addons}} | | {{Pkg|fcitx5-chinese-addons}} | ||
| built-in | | built-in | ||
| {{ | | {{AUR|ibus-pinyin}} | ||
| {{-}} | | {{-}} | ||
| {{-}} | | {{-}} | ||
Line 199: | Line 199: | ||
|- | |- | ||
| [https://github.com/BambooEngine/ibus-bamboo Bamboo] | | [https://github.com/BambooEngine/ibus-bamboo Bamboo] | ||
| {{ | | {{Pkg|fcitx5-bamboo}} | ||
| {{-}} | | {{-}} | ||
| {{AUR|ibus-bamboo}} | | {{AUR|ibus-bamboo}} | ||
Line 211: | Line 211: | ||
! colspan=10| Indic | ! colspan=10| Indic | ||
|- | |- | ||
| [https://linux.omicronlab.com/ Avro] | | [https://linux.omicronlab.com/ Avro] (Bangla) | ||
| {{-}} | | {{-}} | ||
| {{-}} | | {{-}} | ||
Line 222: | Line 222: | ||
| {{-}} | | {{-}} | ||
|- | |- | ||
| [https://helakuru.lk/ Helakuru] | | [https://helakuru.lk/ Helakuru] (Sinhala) | ||
| {{-}} | | {{-}} | ||
| {{-}} | | {{-}} | ||
Line 236: | Line 236: | ||
| {{Pkg|fcitx5-m17n}} | | {{Pkg|fcitx5-m17n}} | ||
| {{Pkg|fcitx-m17n}} | | {{Pkg|fcitx-m17n}} | ||
| {{ | | {{AUR|ibus-m17n}} | ||
| {{-}} | | {{-}} | ||
| {{-}} | | {{-}} | ||
Line 244: | Line 244: | ||
| {{-}} | | {{-}} | ||
|- | |- | ||
| [https://openbangla.github.io/ OpenBangla Keyboard] | | [https://openbangla.github.io/ OpenBangla Keyboard] (Bangla) | ||
| {{AUR|fcitx5-openbangla-git}} | | {{AUR|fcitx5-openbangla-git}} | ||
| {{-}} | | {{-}} | ||
| {{AUR|openbangla-keyboard}} | | {{AUR|openbangla-keyboard}} | ||
| {{-}} | |||
| {{-}} | |||
| {{-}} | |||
| {{-}} | |||
| {{-}} | |||
| {{-}} | |||
|- | |||
| Sayura (Sinhala) | |||
| {{Pkg|fcitx5-sayura}} | |||
| {{Pkg|fcitx-sayura}} | |||
| {{-}} | |||
| {{-}} | | {{-}} | ||
| {{-}} | | {{-}} | ||
Line 258: | Line 269: | ||
| {{-}} | | {{-}} | ||
| {{-}} | | {{-}} | ||
| {{AUR| | | {{AUR|govarnam-ibus-git}} | ||
| {{-}} | | {{-}} | ||
| {{-}} | | {{-}} | ||
Line 275: | Line 286: | ||
{{Tip|If for some reason you wish to completely disable your [[desktop environment]] from handling input via an IMF ('''NOT''' recommended in [[GNOME]] due to tight integration with [[IBus]]), then you may either leave these variables unset or, in the case of [[GTK]] and [[Qt]], you can replace their values with: {{ic|1=GTK_IM_MODULE=gtk-im-context-simple}} and {{ic|1=QT_IM_MODULE=simple}}.}} | {{Tip|If for some reason you wish to completely disable your [[desktop environment]] from handling input via an IMF ('''NOT''' recommended in [[GNOME]] due to tight integration with [[IBus]]), then you may either leave these variables unset or, in the case of [[GTK]] and [[Qt]], you can replace their values with: {{ic|1=GTK_IM_MODULE=gtk-im-context-simple}} and {{ic|1=QT_IM_MODULE=simple}}.}} | ||
=== | === Fcitx5 === | ||
See [[Fcitx5#Integration]] for more information. | |||
=== Fcitx === | |||
See [[Fcitx]] for more information. | |||
GTK_IM_MODULE=fcitx | GTK_IM_MODULE=fcitx | ||
Line 314: | Line 326: | ||
QT_IM_MODULE=scim | QT_IM_MODULE=scim | ||
XMODIFIERS=@im=scim | XMODIFIERS=@im=scim | ||
=== Xim === | |||
GTK_IM_MODULE=xim | |||
QT_IM_MODULE=xim | |||
== See also == | == See also == |
Latest revision as of 10:03, 15 April 2024
Input method
From Wikipedia:Input method:
- An input method (or input method editor, commonly abbreviated as IME) is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters (or mouse operations) that are natively available on their input devices. Using an input method is usually necessary for languages that have more graphemes than there are keys on the keyboard.
In simpler words, an IME is an application that allows us to use Latin characters in order to type non-Latin characters.
Some IMEs do this through a process called romanization, which is the transliteration of non-Latin language sounds into the Latin equivalents that most closely resemble them. As an example, the Japanese written word for "sake" or "rice wine" is 酒
, also written as さけ
, and romanized as "sake". The IME's role is to act as a middleman between the keyboard and the input fields, so that when we type "sake" it will intercept the keyboard's input, replace "sake" with 酒
or さけ
(as chosen by users) and type the native characters for us instead of the keys we pressed.
There are also IMEs that do not make use of romanization. One of the most prominent ones, Cangjie, does so by decomposing Chinese characters into their radicals, matching these radicals to a second set of its own internal radicals, and finally matching these internal radicals to the Latin characters. As an example, the Chinese written word for "wine" is also 酒
, which consists of the radicals 氵
, 一
, ⼉
, 口
and 一
. Cangjie matches these radicals to the internal radicals 水
, 一
, 金
, 田
and 一
, and then matches these to the Latin characters emcw
; this means that when we type "emcw", Cangjie will intercept the keyboard's input, replace "emcw" with 酒
, and type that character on the screen.
Input method framework
Most IMEs work as part of an input method framework (commonly abbreviated as IMF), which is an application that allows the user to easily switch between different IMEs. In fact, this is the exact same application that many of us unknowingly use everyday to switch between the different Latin keyboard layouts (e.g. English, Spanish, German, etc).
The most common IMF is IBus (often used in GTK-based environments like GNOME), followed by Fcitx5 (mostly used in Qt-based environments like KDE), Scim, Fcitx, and Uim. Very uncommon ones include Gcin, Nimf and Hime. [1] Additionally, Emacs is a very popular text editor that has its own internal IMF.
See also Wikipedia:List of input methods for Unix platforms.
List of available input method editors
The following table shows the IMEs for various languages currently available in the Arch repositories and the AUR.
Configuration
In order for your desktop environment to properly register an installed input method framework as available and assign it to handle user input, a set of environment variables must be configured accordingly.
GTK_IM_MODULE=gtk-im-context-simple
and QT_IM_MODULE=simple
.Fcitx5
See Fcitx5#Integration for more information.
Fcitx
See Fcitx for more information.
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
IBus
See IBus for more information.
GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus
Uim
See Uim for more information.
GTK_IM_MODULE=uim QT_IM_MODULE=uim XMODIFIERS=@im=uim
Emacs
According to this Fcitx wiki entry, "in some case, including emacs and java. Emacs has a historical bug, that under en_US.UTF-8 or similar locale, it will never use XIM (Though emacs is a gtk app, it use XIM). The only way to walkaround this is to use LC_CTYPE to fix this."
Scim
See Scim for more information.
GTK_IM_MODULE=scim QT_IM_MODULE=scim XMODIFIERS=@im=scim
Xim
GTK_IM_MODULE=xim QT_IM_MODULE=xim