一个不大不小的好消息,关于fcitx在OOo里面掉字的

系统字体配置、中文显示和输入法问题
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

一个不大不小的好消息,关于fcitx在OOo里面掉字的

#1

帖子 hubert_star » 2009-03-11 16:06

一直在等待官方的解决,但是等来等去毫无结果。

郁闷之下,看了一下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到代码里面。
fix-ooo-lost-chars.patch.tar.bz2
(432 Bytes) 已下载 22 次
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#2

帖子 wangdu2002 » 2009-03-11 16:09

好贴,顶下! :em11
不过既然你已经提交补丁给官方了,我还是等官方的说法吧! :em02

想不到此地无银三百两同学对X编程这么有研究啊,以后可要多多请教了! :em09
上次由 wangdu2002 在 2009-03-11 16:11,总共编辑 1 次。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
daf3707
论坛版主
帖子: 12731
注册时间: 2007-06-13 15:57
来自: 在他乡

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#3

帖子 daf3707 » 2009-03-11 16:10

凡是好的,顶
头像
sunningv
帖子: 1818
注册时间: 2006-12-17 13:34
来自: 武汉

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#4

帖子 sunningv » 2009-03-11 16:12

凡是我顶的就是好贴 顺便说一下有人研究过ooo 表格工具里面中文后面不能输入大写字母的问题么?
人生长恨水长东;
远近高低各不同.
头像
alpha.gu
帖子: 1456
注册时间: 2006-09-10 16:06
联系:

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#5

帖子 alpha.gu » 2009-03-11 16:12

没有用过patch文件,楼上的给个用法呢。

比如我的fcitx源代码解到fcitx目录下,这个.patch文件应该放在和fcitx同级的目录,而不是
fcitx目录下吧?

命令是什么呢
Yuking_net
帖子: 122
注册时间: 2007-02-26 11:41

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#6

帖子 Yuking_net » 2009-03-11 16:14

谢谢先。
这样有一些副作用,比如第二三字的选择键和快速中英文切换等功能就失效了,这些功能目前都依赖于按键释放事件。
考虑把这个东西做成一个选项~
头像
alpha.gu
帖子: 1456
注册时间: 2006-09-10 16:06
联系:

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#7

帖子 alpha.gu » 2009-03-11 16:18

二三字选择?
我选择都是用数字键的啊,如果打了这个补丁,用数字选也会失效?

快速中英文切换,是“;”开头输入英文吗?
如果不是,对我影响就不大,因为“;”开头临时转换英文输入我是用的挺多的。
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#8

帖子 wangdu2002 » 2009-03-11 16:21

Yuking_net 写了:谢谢先。
这样有一些副作用,比如第二三字的选择键和快速中英文切换等功能就失效了,这些功能目前都依赖于按键释放事件。
考虑把这个东西做成一个选项~
:em05 :em05
鱼王大驾光临,赶快致敬! :em11
我可是从去年用Linux以来,只用Fcitx输入法的,向鱼王表示最由衷的感谢! :em11
希望鱼王工作和生活一切顺利,有空时也把小企鹅越做越好! :em11 :em11
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#9

帖子 hubert_star » 2009-03-11 16:26

Yuking_net 写了:谢谢先。
这样有一些副作用,比如第二三字的选择键和快速中英文切换等功能就失效了,这些功能目前都依赖于按键释放事件。
考虑把这个东西做成一个选项~

中英文切换键我的是双击切换,可以跳过这个,目前在改过以后双击切换也仍然有效

对于2-3字的切换,我目前用不上

恩,大问题就是OOod的掉字,别的算是小问题

看看怎么样才能找到一个比较平衡的做法,现在基本上可以确定OOo掉字是因为释放事件引起的了。
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#10

帖子 hubert_star » 2009-03-11 16:28

alpha.gu 写了:没有用过patch文件,楼上的给个用法呢。

比如我的fcitx源代码解到fcitx目录下,这个.patch文件应该放在和fcitx同级的目录,而不是
fcitx目录下吧?

命令是什么呢

这个patch的用法是这样的,如果你在fcitx目录里面,就执行:patch -Np1 -i ../../ooo_fix_xxx.patch,会提示打补丁成功,如果不成功的话一般是目录问题,-Np1中的1表示消除的目录数,如果在fcitx外面就执行patch -Np0 -i ../../ooo_sdfadf.patch了。
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#11

帖子 hubert_star » 2009-03-11 16:30

alpha.gu 写了:二三字选择?
我选择都是用数字键的啊,如果打了这个补丁,用数字选也会失效?

快速中英文切换,是“;”开头输入英文吗?
如果不是,对我影响就不大,因为“;”开头临时转换英文输入我是用的挺多的。
不是,快速中英文切换是指按shift就会从中文状态切换到英文状态。不过选上了双击切换就没有问题了。
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
头像
alpha.gu
帖子: 1456
注册时间: 2006-09-10 16:06
联系:

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#12

帖子 alpha.gu » 2009-03-11 16:34

知道了,就目前的讨论来看,对我的使用是一点影响都没有,我用五笔,基本上不存在选字的情况(虽然看起来数字键选字也不受影响),另外我用的多的就是“;”临时英文切换(极点用多了带来的习惯)。

晚上回去试一试,顺便练习一下patch是怎么用的,哈哈。
Yuking_net
帖子: 122
注册时间: 2007-02-26 11:41

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#13

帖子 Yuking_net » 2009-03-11 16:36

嗯,以前曾经增加了一个”不处理按键释放事件”的事件,但后来由于我的ubuntu中的OOo没有这个问题了,我以为就不再存在这个麻烦事了呢。
至少更深层次的原因还得再看一下。
头像
hubertstar
帖子: 64
注册时间: 2007-12-27 20:47

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#14

帖子 hubertstar » 2009-03-11 16:37

那怎么编译呢?

这个是要源代码的吧?
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

Re: 一个不大不小的好消息,关于fcitx在OOo里面掉字的

#15

帖子 hubert_star » 2009-03-11 17:26

Yuking_net 写了:嗯,以前曾经增加了一个”不处理按键释放事件”的事件,但后来由于我的ubuntu中的OOo没有这个问题了,我以为就不再存在这个麻烦事了呢。
至少更深层次的原因还得再看一下。
翻了一下你以前的代码,发现果真是有这么一个选项,不过后来就没有了

不过我觉得这个还是不要作成选项的好,起码实现的时候可以考虑对于字母输入和功能按钮细分事件的处理过程。

因为这是一个统一的需求,而不是说有人用得上有人用不着的问题,作成选项的话我觉得就不合适了。

最好不要开了某某选项,什么功能可以用了,其他功能又有问题了。

问题要彻底解决,现在翻fcitx代码的人不少,只要人人能提供一点意见,fcitx就能一直占据头把交椅。

不过话说回来,基于xim的fcitx已经很完美了,不管是功能还是速度,比别的要好多了,尤其是基于scim的输入法。
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
回复