当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 20 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 16:44 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
fcitx输入法很好,尤其是现在的svn最新版,已经修正了大多数问题,而且系统托盘图标也起作用了。

但是,一个非常非常郁闷的问题就是在openoffice里面掉字。

不知道yuking为什么不修正这个问题,现在情况虽然好点,但是偶尔出现的掉字现象让人感觉像吃了一个苍蝇。

究其原因,在ime.c里面,键盘事件的处理方式上,fcitx对于普通输入字符处理KeyRelease事件我觉得不妥。

比如scim和ibus,他们在处理输入字符的事件时,均做如下处理:如果是普通的字符(keycode在32-126之间),处理keypress而乎略keyrelease。

而openoffice掉字,就是由keyrelease引起的。

所以,我修改了一下源代码,把普通字符的KeyRelease处理逻辑整个去掉

用了一会,发现还可以,在Openoffice里面已经很难遇到掉字现象了

所以,发上来,共享之。

补丁内容:
代码:

diff -aur fcitx-svn/src/ime.c fcitx-svn.new/src/ime.c
--- fcitx-svn/src/ime.c    2009-05-16 21:24:18.257935370 +0800
+++ fcitx-svn.new/src/ime.c    2009-05-18 16:33:13.500898670 +0800
@@ -335,7 +335,9 @@
 #ifdef _DEBUG
     printf ("KeyRelease=%d  iKeyState=%d  KEYCODE=%d  iKey=%d\n", (call_data->event.type == KeyRelease), iKeyState, kev->keycode, iKey);
 #endif
-
+    if ((iKey >= 32 ) && (iKey <= 126) && (call_data->event.type == KeyRelease)) {
+        return;
+    }
     if (call_data->event.type == KeyRelease) {   
     if (ConnectIDGetState (call_data->connect_id) != IS_CLOSED) {
         if ((kev->time - lastKeyPressedTime) < 500 && (!bIsDoInputOnly)) {




或者从附件下载。


附件:
fix-key-release-for-openoffice.patch.tar.bz2 [566 Bytes]
被下载 82 次


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

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

特此声明!

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

欢迎来我的新浪微博@me
页首
 用户资料  
 
2 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 16:50 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
应该提交给yuking , :em11


页首
 用户资料  
 
3 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 16:51 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
我的google账号总登不上去,所以发到这里,等yuking过来看吧


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

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

特此声明!

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

欢迎来我的新浪微博@me


页首
 用户资料  
 
4 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 17:07 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
支持一下...
老问题了...


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
5 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 17:32 
头像

注册: 2008-12-19 13:44
帖子: 2337
地址: 东8区
送出感谢: 0 次
接收感谢: 0 次
how patch :em06
在源码的时候补丁吗


_________________
代码:
 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| * 
 


页首
 用户资料  
 
6 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 17:48 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
是的,在编译前打补丁,然后编译安装即可


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

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

特此声明!

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

欢迎来我的新浪微博@me


页首
 用户资料  
 
7 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 18:18 
头像

注册: 2005-08-14 19:53
帖子: 3998
送出感谢: 1
接收感谢: 2
其实吧,我是觉得是低效率的图形程序造成延迟之类

fcitx传递给程序的字符需要很长时间绘制,后来输入的字符就直接成英文了。。

这个不知道还能否切换中英文了


页首
 用户资料  
 
8 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 18:35 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
除了字母、数字和一些符号键以外,均保留以前的默认处理方式

不影响功能键

我这里用没有问题


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

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

特此声明!

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

欢迎来我的新浪微博@me


页首
 用户资料  
 
9 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 22:54 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
有谁用的,效果怎么样?


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

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

特此声明!

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

欢迎来我的新浪微博@me


页首
 用户资料  
 
10 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 23:07 
头像

注册: 2008-12-19 13:44
帖子: 2337
地址: 东8区
送出感谢: 0 次
接收感谢: 0 次
没ooo :em06


_________________
代码:
 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| * 
 


页首
 用户资料  
 
11 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 23:30 
头像

注册: 2008-09-11 17:41
帖子: 261
送出感谢: 0 次
接收感谢: 0 次
好人一个啊

如果是正常打字的话,还好,已经基本不会掉字了

但只要你的速度够快,还是会掉

胡乱敲的:


附件:
screenshot1.png
screenshot1.png [ 10.57 KiB | 被浏览 662 次 ]


_________________
Work Hard and Enjoy Life!
-P
页首
 用户资料  
 
12 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-18 23:51 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
petrele.chen 写道:
好人一个啊

如果是正常打字的话,还好,已经基本不会掉字了

但只要你的速度够快,还是会掉

胡乱敲的:


唉,这个问题,应该重头到尾规划一下

ibus为什么不掉字?scim为什么不掉字?

还是在按键事件的处理上有问题


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

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

特此声明!

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

欢迎来我的新浪微博@me


页首
 用户资料  
 
13 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-19 10:33 

注册: 2007-02-26 11:41
帖子: 122
送出感谢: 0 次
接收感谢: 0 次
jarryson 写道:
其实吧,我是觉得是低效率的图形程序造成延迟之类

fcitx传递给程序的字符需要很长时间绘制,后来输入的字符就直接成英文了。。

这个不知道还能否切换中英文了


我也曾经考虑过是这个问题,因此前几次把UI的部分进行了一些改动。但后来发现问题似乎并不在于此。原因是,首先,掉字现象似乎只出现在少数的程序中(比如OOO或QQ),如果是因为UI,那应该在所有的程序中都会出现问题。事实上,我们把ubuntu中OOO的gtk的vcl插件删掉,掉字问题立刻就没有了。现在看来,主要问题似乎还是release事件的处理上,如果在注册XIM的时候指定不处理释放,那所有的问题立刻都消失,当然fcitx的某些功能也就用不起来了(有几个小功能依赖于释放的处理)。我现在的印象是,这个问题只出现在GTK的程序,QT的程序似乎还没有听谁说过。

当然,这只是我的一些经验,由于我自己本本上的OOO不存在掉字问题(以前有过,但很快就没了,可能是升级了什么的原因),但fcitx与OOO还有另外一个问题(连续按键不放可能会导致OOO死掉,需要多按一会,比较容易再现,如果把release关掉或把程序中的XResizeWindow屏蔽掉都可以解决这个问题,所以还不清楚到底是啥)。

谢谢楼主的补丁,我马上加到SVN上,如果能解决这个顽疾那就太好了。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-19 10:38 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
不过还有一个小问题,就是退格键是否也要像字母一样,只监控press事件,因为有时候退格删除字母的时候,也容易出现退格漏到应用程序里面的现象,把应用程序的字给删掉


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

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

特此声明!

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

欢迎来我的新浪微博@me


页首
 用户资料  
 
15 楼 
 文章标题 : Re: fcitx在openoffice掉字问题的修正
帖子发表于 : 2009-05-19 10:58 

注册: 2007-02-26 11:41
帖子: 122
送出感谢: 0 次
接收感谢: 0 次
因为我这儿本来就没有掉字母的问题,所以没法测试您说的情况,只能由您来试试了,谢谢啊。

但在OOO中连续按着某个键不放的问题还是没有解决。。。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 20 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译