java - 如何解决linux下面中文输入法不跟随?
ringa_lee
ringa_lee 2017-04-18 10:20:46
0
3
1169

问题描述

Linux下面切换到中文输入法,在sublime和jetbrains全家桶下面中文输入法都无法跟随,都会浮动到桌面的左下角。Google找了一下答案,基本都说是fcitx的原因,和IDE没有关系。请问有遇到同样问题的朋友吗?能否给一下建议?不管是sougoupinyin还是googlepinyin都是一样的。

ps: 但是在Vim(终端)以及浏览器下面都没有问题,输入法可以正常跟随。运行环境是Ubuntu16.04。

参考资料

Linux下PyCharm中文输入法的跟随问题
JAVA写的IDE输入法在linux下老是会错位?

ringa_lee
ringa_lee

ringa_lee

répondre à tous(3)
巴扎黑

En fait, cela a quelque chose à voir avec l'éditeur, car l'éditeur n'a pas été bien internationalisé. Prenons l'exemple de sublime text 3. En fait, la version officielle de Linux n'a pas du tout de méthode de saisie compatible.

Prenons gtk2 comme exemple. Pour que le programme prenne en charge la méthode de saisie, vous devez d'abord disposer d'un contexte de méthode de saisie GtkIMContext *im_context, puis vous devez activer manuellement ce contexte de méthode de saisie lorsque vous obtenez le focus :

gtk_im_context_focus_in(im_context);

Non seulement cela, mais surveillez également divers signaux, tels que les mises à jour du contenu d'entrée, les mots associés, les commits, etc...

Enfin, vous pouvez également utiliser cette méthode pour indiquer à la méthode de saisie où se trouve mon curseur actuel, et votre méthode de saisie doit l'ajuster en fonction de la position que j'ai donnée :

void gtk_im_context_set_cursor_location(GtkIMContext *context,
                                        GdkRectangle *area);

De nombreux éditeurs ont des problèmes de compatibilité des méthodes de saisie sous Linux. Après tout, les gens n'ont besoin de saisir que l'anglais et n'ont pas besoin d'une méthode de saisie pour en faire autant, et il n'y a aucun moyen de le tester après cela. beaucoup. Et il existe quelques différences entre fcitx et ibus.

Les terminaux et les navigateurs sont tous fabriqués par Ubuntu, Google et Mozilla. Ils disposent d'équipes internationales dédiées et, bien sûr, ils doivent faire un meilleur travail.


Ajoutez enfin l'API : https://www.gtk.org/api/2.6/g...

迷茫

Il semble que le responsable n'ait pas encore résolu ce problème ; l'auteur peut essayer de l'installer IMESupport, mais IMESupport ce plug-in est désormais manquant sous PackageControl. . . (ノ﹏ヽ)

小葫芦

Vérifiez si l'éditeur a défini l'encodage sur UTF8

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal