Category Archives: fcitx development

构建一个给 WPS 用的 fcitx im module

WPS 处于许可证的考虑,里面自带的 fcitx 的 im module 是由 WPS 的开发自己写的。但是这就有一个问题了,他们对于跟随 fcitx 上游的变化可以说是几乎没有。在 Fcitx 4 已经加入了对于 flatpak / fcitx 5 的支持之后他们并没有做出对应的改变,导致了现在的很多问题。 在过去的这篇也曾经写到了,如何构建一个给闭源 Qt 程序用的模块。 我不知道过去有没有人干过这样的事情,但我们现在就来做这么一趟。 首先观察 WPS 使用的 Qt 版本 $ ls /usr/lib/office6/libQtCore.so -l                        lrwxrwxrwx 1 root root 18  1月 15 … Continue reading

Posted in fcitx development | Leave a comment

如何现在就用上 Fcitx 5 (Flatpak)

折腾了很久的自动构建,现在终于可以拿出来给大家用一下了。当然,据说 flathub 有特色网络问题……这部分我就不负责解决了。 首先添加源: 安装 Fcitx 5 和输入法: 然后,在本地非 flatpak 程序上使用的话,还需要安装 fcitx 4/5 的 im module。这个 repo 除了提供另一种更新方式之外,也主要是为了方便还没提供 fcitx 5 的发行版测试。fcitx 4 只要是最近的版本,都可以直接和 fcitx 5 配合使用。环境变量方面当然还是和过去一样,比较传统的就是设置在 ~/.xprofile 里面(和过去一样,如果你已经对 fcitx 4 进行设置了就不用修改什么。) 自动启动就把 flatpak 的 fcitx 5 的 desktop file 加入到自动启动即可。但相对的也需要阻止 … Continue reading

Posted in fcitx development | Tagged , , | Leave a comment

关于之前发在 Archlinux CN 群里 Fcitx 5 问卷里面问题的几个回答

1、sni图标似乎不响应系统(kde)配色了? 图标上来说用的是 input-keyboard-symbolic ,不幸他们没这个图标的 plasma 版本。其他图标都挺正常的啊?可以给 breeze 提交一个希望增加 input-keyboard 这个图标的请求。 2、非kde下面托盤和托盤右鍵菜單太醜了,還沒之前的4好看。 右键菜单和输入框一个主题吧。自带主题来说应该还行,没有修改的打算。如果你用的别的主题那就和 Fcitx 无关了。 3、更好康的皮肤,更佳的英文混输体验 皮肤本身就不说了,我自己应该不会再做什么别的皮肤。不过目前给皮肤增加了好几个新的功能,应该能帮助大家做出更好的皮肤。一个是 Overlay 图片,一个不会受到缩放的图片,可以固定显示在背景上。另一个是增加了 KWin 的模糊背景的支持,目前暂时可以设定一个矩形区域并模糊。 混合输入这个应该继续学习一下有什么办法……短期内肯定是没有大的改进。 4、Doesn’t work well on Sway, but that’s mainly a Wayland input protocol issue, no rush. 这个确实是比较难的事情…不过我对 wlroots 那个协议很不满意,下一步反正是打算自己实现一个新的协议。 5、fcitx5 … Continue reading

Posted in fcitx development | Tagged , | Leave a comment

Fcitx 5 的拼音有哪些新功能

拼音方面做了特别多的改进,但是目前还没有比较集中的地方说明到底有哪些新功能,所以这里特别列举一下。 1、算法的改进数据采用了和 sunpinyin 相同的 open-gram(也是为什么没有 fcitx5-sunpinyin的原因),算法来说是类似的基于统计语言模型计算概率,在用户的历史处理上和 sunpinyin 有所不同,但是整体来说是类似的。和原本的 Fcitx 4 自带拼音相比的话改进则是巨大的。 2、笔画过滤按 ` (反引号)键触发,可以输入 hpszn(横撇竖折捺)进行搜索。 3、输入颜文字对于有对应颜文字的词组可以直接输入,具体列表可以参考 https://github.com/fcitx/fcitx5-chinese-addons/blob/master/im/pinyin/emoji.txt 4、查询读音选中一段文字之后,可以用快速输入输入 duyin 来列出文字的读音。 5、自定义双拼方案音节例如可以直接指定某个音节对应的双拼,而不是根据单独声母/韵母来指定。此外之前似乎一直和标准不符的自然码方案也得到了修复。 6、多词库管理可以直接导入搜狗的细胞词库,单独启用或者禁用某个词库等。 7、Lua 扩展目前加入了针对候选词匹配的功能,而且预置了一些 lua 功能,例如输入时间: 8、拆字输入通过输入汉字部件来找到对应汉字。例如: 9、一些之前就有的功能笔画输入(直接hpszn输入笔画查找汉字),以词定字,联想,简繁转换,输入单词,云拼音,还有 Fcitx 一直以来就有的高度可扩展的快速输入功能。

Posted in fcitx development | Tagged , , | Leave a comment

世纪未解之谜之 Emacs 为什么要设置 LC_CTYPE 才能用输入法终于

在 Linux 上用 Emacs 和输入法的人可能都曾经有这样的疑惑,为什么只有 emacs 非常奇怪经常要额外设置一个 LC_CTYPE 才能正常使用输入法。很多年以前,我也一直不明白,直到最近 LibX11 的一个 bug 让我们有机会找到了…Emacs 不能用输入法的真正原因。 首先声明,并不是 Emacs 对这个环境变量有任何的判断。设置它,只是触发了一个副作用让 Emacs 能够正常工作。而这个真实原因的线索其实在几年前就已经被发现了并且写到了 Fcitx Wiki 的 FAQ 上,但是一直没有被联系起来。 首先要说 XIM。XIM 这个协议里面其实有很多过时的部分,过时的意思主要是指,实际上在今天完全没有人使用了的部分,但是因为 LibX11 的实现和 XIM 高度绑定,所以不得不依然使用的部分。其中一个就是需要设置一个字体。这个字体的本意,大概只是为了让输入法知道程序在用什么字体,可能让输入法可以选择配合窗口的字体来绘制输入框。XIM 的协议,主要是通过 X11 的 ClientMessage 来实现的,发送字体的部分,是传递一大堆字体的名字列表过去。但是好巧不巧,Emacs 判断这部分关于字体的代码可能会出现很多不同的问题。 可能的问题包括: 1、找不到字体2、找到太多字体 几年前一个 … Continue reading

Posted in fcitx development | Tagged , | Leave a comment