如何解决linux下面中文输入法不跟随?

问题描述

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

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

参考资料

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

阅读 10k
4 个回答

其实是跟编辑器有关的,因为编辑器没做好国际化,拿sublime text 3来说,其实官方linux版根本就没有兼容输入法。

拿gtk2来说,要让程序支持输入法,首先你得有一个输入法上下文GtkIMContext *im_context,然后获得焦点的时候还需要手动激活这个输入法上下文:

gtk_im_context_focus_in(im_context);

不只这样,还要监听各种信号(signals),比如输入内容更新、联想词、上屏(commit)等等……

最后,你还可以通过这个方法告诉输入法,我当前光标在什么位置,你输入法要根据我给的这个位置进行调整:

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

好多编辑器在linux下的输入法兼容性都有问题,毕竟人家只需要输入英文,不需要输入法,也懒得做那么多,做那么多也没法测试。并且fcitx和ibus还有一些不一样。

终端、浏览器这些都是ubuntu、google、mozilla他们做的,有专门的国际化团队,当然要做的好一些。


最后补充一下API:https://www.gtk.org/api/2.6/g...

貌似官方还没有解决这个问题;楼主可以尝试安装一下IMESupport,不过IMESupport这个插件现在在PackageControl下面不见了。。。(ノ﹏ヽ)

看看编辑器有没有设置编码的地方设置成UTF8

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏