# Intelligent Input Bus

Intelligent Input Bus (iBus) est un gestionnaire de méthode de saisie (parfois appelé par anglicisme, méthode d'entrée) pour la saisie d'écritures complexes pour environnement Unix.
Il s'agit d'une évolution de SCIM, (les fichiers de création des méthodes, sont par exemple restés les mêmes), qu'il remplace sur les différentes distributions Linux depuis environ 2009, comblant différentes lacunes et réorganisant l'architecture en l'adaptant d'une meilleure façon aux évolutions récentes des environnements de travail sous X11. Il est devenu la méthode par défaut pour des distributions GNU/Linux majeures telles que Fedora 11 et Ubuntu 9.10 (Karmic).

## Avantages par rapport à SCIM

* Réécrit initialement en python et pratiquement adapté en C, il corrige des erreurs d'architecture et des problèmes de conflits dans les symboles de la bibliothèque C++ STL utilisé par SCIM.
* Il est possible d'écrire des clients et moteurs pour iBus dans tous les langages comportant des 'bindings' D-Bus.
* iBus charge les moteurs de méthodes de saisie à la demande, plutôt que tous ceux disponibles en même temps comme le fait SCIM, cela améliore le temps de démarrage et l'utilisation de la mémoire.
* SCIM charge les moteurs comme des modules dl, un problème dans un moteur peut donc faire planter SCIM, tandis qu'iBus sépare les processus des moteurs du processus d'iBus, ce qui permet donc au reste du système de continuer à fonctionner sans problème.
* L'architecture d'iBus est centrée sur le bus (D-Bus) et donc plus proche de l'architecture des spécifications du CJK OSS Forum Workgroup 3 (« Specification of IM engine Service Provider Interface »), qui pourra donc être supporté dans le futur.

## Méthodes de saisie existantes

Liste de méthodes (non exhaustive).
* Anthy — Saisie du japonais
* Hangul — Hangeul coréen. Permet d'utiliser la disposition standard coréenne ou une disposition phonétique en fonction du clavier ;
* ibus-Canjie — Basé sur libcangjie, saisie du chinois selon les méthodes Cangjie3 et Quick.
* libIbuspinyin — Saisie du chinois simplifié (priorité au simplifié mais permet également le traditionnel) par le pinyin (la méthode est aussi appelée Intelligent pinyin), elle remplace l'ancienne méthode ibus-pinyin qui n'est plus maintenue ;
* ibus-m17n — Un pont entre ibus et la bibliothèque m17n, permettant de bénéficier de toutes ses méthodes de saisie ;
* Input Pad — Saisie de différents types de caractères spéciaux (symboles, chiffres romains, émoticônes, etc.) ;
* ibus-kmfl — Basé sur libkmfl, permet d'utiliser les méthodes de saisie Keyman, développé par SIL International ;
* RIME — Saisie du chinois traditionnel via le pinyin ;
* OpenCC — anglais : Open Chinese Convert, chinois : 開放中文轉換. Conversions entre les variantes du chinois (langues et écritures)
* SKK — Méthode de saisie du japonais « Simple Kana-Kanji » ;
* Tegaki — Saisie par écriture manuscrite des caractères chinois (hanzi/kanji) pour le chinois (simplifié et traditionnel), et le japonais
* Teni — Compile différentes méthodes de saisie pour le vietnamien ;
* typing-booster — Permet d’accélérer la saisie par de la prédiction de phrase dans les langues utilisant les caractères latins(les langues complexes l'on généralement par défaut) ;
* Uniemoji — Entrée facilitée d'émoji, par leur code ou par leur signification ;
* Unikey — Saisie du vietnamien. Utilise la méthode TELEX par défaut, mais permet d'en utiliser d'autres (VNI, STelex, STelex2).
ibus-table-other contient à elle seule différentes méthodes :
* CNS11643 — ???
* Compose — Saisie imitant la touche compose utilisée sur X11 pour les caractères spéciaux composés.
* IPA-X-SAMPA — Saisie de l'alphabet phonétique international au format SAMPA (Speech Assessment Methods Phonetic Alphabet).
* emoji — Permet de faire des emoji en ASCII art (basé sur des emojis en chinois).
* LaTex — Saisie de formules mathématiques sur le modèle de LaTeX.
* Mathwriter — Saisie de formules mathématiques
* RussianTraditional — Saisie du russe avec la disposition clavier traditionnelle des machines à écrire.
* Thai — Saisie du thaïlandais, dérivé de th-kesmanee.mim
* Translit — Saisie du cyrillique (translittéré)
* Ua-Translit — Saisie du cyrillique (translittéré)
* Viqr — Saisie du vietnamien, utilise la méthode VIQR
* Yawerty — Saisie du cyrillique en utilisant la disposition équivalente en caractère latins du clavier.