La saisie en vietnamien sous Linux s'est longtemps limitée à quelques options bien connues, chacune présentant ses propres inconvénients : perte des accents lors d'une saisie rapide, soulignement gênant dans la barre d'adresse du navigateur, ou encore plantage du clavier qui entraîne la fermeture de toute la session.
Onikey est un clavier virtuel vietnamien open source qui répond précisément à ces besoins. Il reprend le système de saisie de BambooEngine, mais son cœur a été réécrit en Rust ; il prend en charge à la fois IBus (GNOME, Ubuntu) et Fcitx5 (KDE), et est distribué sous licence GPLv3.

Installation sous Ubuntu et Debian
La solution la plus simple consiste à ajouter un dépôt de logiciels ; les mises à jour seront alors installées en même temps que apt upgrade comme pour tous les autres paquets :
curl -fsSL https://crust92.github.io/Onikey/onikey-archive-keyring.gpg \
| sudo tee /usr/share/keyrings/onikey-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/onikey-archive-keyring.gpg] https://crust92.github.io/Onikey stable main" \
| sudo tee /etc/apt/sources.list.d/onikey.list
sudo apt update
sudo apt install onikey # cho IBus (GNOME)
sudo apt install fcitx5-onikey # cho Fcitx5 (KDE)Une fois l'installation terminée, appuyez sur Super + Espace pour commencer à taper immédiatement. Le paquet active automatiquement IBus et ajoute automatiquement la source de saisie ; il n'est pas nécessaire de se déconnecter ni d'accéder aux paramètres système.
Installer à partir du code source
sudo apt install -y golang cargo gcc make pkg-config \
libgtk-3-dev libxtst-dev libx11-dev
git clone https://github.com/Crust92/Onikey.git
cd Onikey && make && sudo make install PREFIX=/usr && ibus restartEnsuite, allez dans Paramètres → Clavier → Sources de saisie → + → Vietnamien → Onikey. Pour le désinstaller, sudo make uninstall. Sous Fedora, il faut également spécifier LIBEXECDIR=/usr/libexec/onikey.
Fonctionnalités notables
Modes de saisie et jeux de caractères. Les options disponibles sont Telex, Telex 2, Telex W, VNI, VIQR et quelques combinaisons ; le mode par défaut est Telex 2. Outre Unicode, le logiciel prend également en charge les anciens jeux de caractères tels que TCVN3, VNI Windows et VISCII pour ceux qui doivent encore travailler avec d'anciens documents.
Deux modes d'affichage. Le mode par défaut est « pré-édition » : le mot en cours de saisie est souligné et validé dès que l'on appuie sur la barre d'espace, ce qui est fiable en toutes circonstances. Le mode « sans soulignement » permet d'envoyer directement le texte à l'application, pour un rendu plus naturel ; si une application ne prend pas en charge ce mode, le moteur revient automatiquement au mode « pré-édition » au lieu d'ignorer la frappe.
Supprimer le soulignement spécifique au navigateur. C'est un petit détail dont on ne mesure la valeur qu'au quotidien : la barre d'adresse ne comporte pas de soulignement, ce qui permet aux suggestions d'adresse de fonctionner normalement, tandis que les autres champs de saisie conservent leur état « pré-édition ».
Récupération à partir d'une langue étrangère. Tapez des mots tels que password ou expression au milieu d’une phrase en vietnamien sans que les accents ne soient modifiés — lorsque la chaîne n’est plus une syllabe vietnamienne valide, le moteur renvoie exactement la chaîne de caractères saisie.
Raccourci clavier. Définir sous la ~/.config/onikey/onikey.macro.text au format khoá:văn bản. Activez la mise en majuscules automatique et l'extension s'écrira selon la saisie : vn donne « Việt Nam », VN donne « VIỆT NAM ».
À utiliser quotidiennement
Tout se trouve dans le menu de l'icône vi située dans la barre d'état : jeu de caractères, mode de saisie, raccourcis clavier, vérification orthographique et boîte de dialogue de configuration pour attribuer des raccourcis clavier. Les modifications s'appliquent immédiatement, sans redémarrage ; si vous modifiez manuellement le fichier de configuration, le moteur se recharge automatiquement.

Quelques points techniques à souligner
- Le noyau a été validé pour reproduire le comportement de BambooEngine à l'aide d'un ensemble de plus de 126 000 cas, en comparant la séquence de résultats après chaque frappe et non pas uniquement le résultat final
- En mode « suppression de soulignement », le moteur attend que l’application confirme la suppression avant de poursuivre l’écriture — c’est ainsi que l’on traite à la racine le phénomène d’inversion des caractères lors d’une saisie rapide
- La boîte de dialogue de configuration s’exécute en tant que processus distinct ; ainsi, une erreur au niveau de l’interface n’entraîne pas le plantage du moteur
En cas de problème
Le moteur est lancé par ibus-daemon, il n'affiche donc rien à l'écran. Activez la journalisation pour voir ce qui se passe :
touch ~/.config/onikey/onikey-debug && ibus restartJournal d'enregistrement ~/.config/onikey/onikey-rust-debug.log, comprenant la configuration chargée et l'action du moteur sélectionnée pour chaque touche. Il suffit de supprimer le fichier de paramètres, puis de redémarrer IBus pour désactiver cette fonctionnalité.
Sous GNOME Wayland, il existe deux limitations liées à la plate-forme et non au système de saisie : l'impossibilité de détecter l'application active et l'impossibilité d'envoyer des touches fictives comme sous X11. Sous KDE avec Fcitx5, si la saisie fonctionne dans une application mais pas dans une autre, essayez de définir ShareInputState=All dans les paramètres avancés de Fcitx5.
Thảo luận