LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 826|回复: 3

呵呵,fcitx和scim都很好啊(a trick in fcitx)

[复制链接]
发表于 2004-4-24 22:04:00 | 显示全部楼层 |阅读模式
呵呵,又换成了fcitx。

这下有感觉了,说说直觉上两者的优缺点。

我主要用拼音输入法,目前暂时因为emacs cvs的问题不能用scim,一时弄不好,用fcitx试了一下,倒没有问题。

fcitx的优点:响应速度快,容易安装配置,基本的拼音输入功能还是很不错的。开源,可以修改。
          缺点:单词联想笨,如果你想写论文,估计会累死,真不知道本科论文怎么写出来的。

scim的优点:单词联想功能很强,比较智能。很象真正的输入法。
          缺点:响应速度有点慢,适应能力似乎不够强,安装使用容易错。

一个小trick:
当初换成scim是因为emacs,这次换回来还是因为emacs。
fcitx配置功能较弱,比如ctrl+space一直被占用,这时当时换成scim的主要原因。

刚才搜到一个帖子,看到可以修改fcitx的源码,仔细读了一下(链接找不到了,呜呜),里面的作者为了避免fcitx占用ctrl+shift+space对源代码中xim.c文件做了修改。

类似的,我为了能够ctrl+space在emacs中set mark,而使用alt+space调用输入法,可以这么修改:
(找到xim.c中的 static XIMTriggerKey Trigger_Keys_Ctrl_Shift这部分,然后改成下面的样子就可以了)

static XIMTriggerKey Trigger_Keys_Ctrl_Shift[] = {
    {XK_space, Mod1Mask, Mod1Mask},
    {0L, 0L, 0L}
};

XIMTriggerKey   Trigger_Keys[] = {
    {XK_space, Mod1Mask, Mod1Mask},
    {0L, 0L, 0L}
};

呵呵,因为Mod1Mask相当于alt这个modifier吧,在<x11/x.h>中有定义。

后来为了安全,grep 了一下,发现整个代码中只有这里用到了,局部性还是不错的。

Yuking是不是可以考虑把这个开放给用户配置吧,这样改代码还是不太好。
发表于 2004-4-26 14:16:15 | 显示全部楼层
谢谢!
目前正在解决这个问题。
发表于 2004-4-27 18:22:00 | 显示全部楼层
set-mark 可以用 C-@ 的啊,Ctrl+Space 都用来做输入法开关的吧?不过,如果这一项改成可配置项目的话,对于nano用户倒是一个福音
发表于 2004-4-27 23:46:39 | 显示全部楼层
只有疯子才会使用c-@做mark,哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表