|
一直在等待官方的解决,但是等来等去毫无结果。
郁闷之下,看了一下xim.c,发现xim.c在处理按键方面是如下部分的语句:
代码:
IMSetIMValues (ims, IMEncodingList, encodings, IMProtocolHandler, MyProtoHandler, NULL);
IMSetIMValues (ims, IMFilterEventMask, KeyPressMask | KeyReleaseMask, NULL);
IMSetIMValues (ims, IMOnKeysList, on_keys, NULL);
尤其是KeyPressMask | KeyReleaseMask这句话,处理了按下和释放,我把代码改为:
代码:
IMSetIMValues (ims, IMEncodingList, encodings, IMProtocolHandler, MyProtoHandler, NULL);
IMSetIMValues (ims, IMFilterEventMask, KeyPressMask, NULL);
IMSetIMValues (ims, IMOnKeysList, on_keys, NULL);
后(也就是只处理按下),编译,fcitx在OOo里面好了,一切都好了,不再掉字了
唉,我不是fcitx的开发人员,没法去修改代码,所以给出了一个补丁,大家打到代码上编译一下看看,顺便帮我测试在别的程序上有没有问题
起码用了一个下午我没发现有什么不妥的。
补丁在附件里面,我已经提交到官方,不知道合适merge到代码里面。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|