[howto] ibus中使用万能五笔与scim码表转ibus码表

系统字体配置、中文显示和输入法问题
回复
liuke.forever
帖子: 102
注册时间: 2008-05-28 14:14

Re: ibus中使用万能五笔

#31

帖子 liuke.forever » 2009-11-06 13:12

opp 写了:
liuke.forever 写了:目前我发现ibus的字频调整有问题(不知是不是我不会设置)
情况是这样的比如我习惯打L: “国” G:“一”
但是当我打L: “国”的次数比较多的时候,就会出现我再打G的时候默认的是“国”,"一"到第二位了
是这样的,一点不错,这对于用五笔的人来说是比较麻烦的一件事。绝对会影响你的效率,你在选择的时候,至少会损失打一个字或者词组的时间,如果你是打字员那种速度的话,看候选词再选的话,你至少会损失2个单字或者2个词的时间。
这个问题我认为是ibus的的一个bug,在scim下没有这个问题。

我分析可能的问题如下:
ibus中记录字频的文件是/home/youname/.ibus/tables/wnwb-user.db
所对应的table是phrases
查看按一个键可这输入 '国'的资料:
sqlite> select * from phrases where m1 is null and phrase='国';
id|mlen|clen|m0|m1|m2|m3|m4|m5|m6|m7|m8|m9|m10|m11|category|phrase|freq|user_freq
1|1|1|7||||||||||||3|国|0|16
3|1|1|12||||||||||||3|国|0|16

(字母表abcdefghijklmnopqrstuvwxyz)
m0=7表示字母的顺序,也就是表是字母G 字频user_freq=16, 字频高的打字的时候会排在前面,
现在的问题是同一个字在不同按键下记录的字频(user_freq)的一样的,
正确的应该是同一个字在不同的按键下的字频要分开来记录,
应该要如下才对
1|1|1|7||||||||||||3|国|0|16
3|1|1|12||||||||||||3|国|0|10

会python sqlite 的朋友可这看一下/usr/share/ibus-table/engine/tabsqlitedb.py这个文件
我怀疑这个文件在更新user_freq时 where 里少了一个条件
头像
opp
帖子: 622
注册时间: 2008-03-30 11:42
联系:

Re: ibus中使用万能五笔

#32

帖子 opp » 2009-11-07 8:46

liuke.forever 写了:
opp 写了:
liuke.forever 写了:目前我发现ibus的字频调整有问题(不知是不是我不会设置)
情况是这样的比如我习惯打L: “国” G:“一”
但是当我打L: “国”的次数比较多的时候,就会出现我再打G的时候默认的是“国”,"一"到第二位了
是这样的,一点不错,这对于用五笔的人来说是比较麻烦的一件事。绝对会影响你的效率,你在选择的时候,至少会损失打一个字或者词组的时间,如果你是打字员那种速度的话,看候选词再选的话,你至少会损失2个单字或者2个词的时间。
这个问题我认为是ibus的的一个bug,在scim下没有这个问题。

我分析可能的问题如下:
ibus中记录字频的文件是/home/youname/.ibus/tables/wnwb-user.db
所对应的table是phrases
查看按一个键可这输入 '国'的资料:
sqlite> select * from phrases where m1 is null and phrase='国';
id|mlen|clen|m0|m1|m2|m3|m4|m5|m6|m7|m8|m9|m10|m11|category|phrase|freq|user_freq
1|1|1|7||||||||||||3|国|0|16
3|1|1|12||||||||||||3|国|0|16

(字母表abcdefghijklmnopqrstuvwxyz)
m0=7表示字母的顺序,也就是表是字母G 字频user_freq=16, 字频高的打字的时候会排在前面,
现在的问题是同一个字在不同按键下记录的字频(user_freq)的一样的,
正确的应该是同一个字在不同的按键下的字频要分开来记录,
应该要如下才对
1|1|1|7||||||||||||3|国|0|16
3|1|1|12||||||||||||3|国|0|10

会python sqlite 的朋友可这看一下/usr/share/ibus-table/engine/tabsqlitedb.py这个文件
我怀疑这个文件在更新user_freq时 where 里少了一个条件
强人呀,观察得相当仔细啊。我现在就用scim下的五笔了,很顺手啊。
头像
ichaochao
帖子: 260
注册时间: 2008-03-17 21:37
来自: 深圳

Re: ibus中使用万能五笔

#33

帖子 ichaochao » 2009-11-07 19:57

非常感谢,这对我很有用呀!!至这现在可用五笔了嘛
爱生活,ichaochao......
头像
ichaochao
帖子: 260
注册时间: 2008-03-17 21:37
来自: 深圳

Re: ibus中使用万能五笔

#34

帖子 ichaochao » 2009-11-07 20:35

opp 写了:
我是极不习惯这样。 用五笔就是为了减少选字的次数, 不然实际总体的输入速度会极慢。 如果对这个频率不熟,经常会敲错,又要重新敲,很不方便。
我也极不习惯,老是变会经常出错的,用惯五笔的人都知道打五笔的时候百分之99.9的情况我们是不用看候选词的,直接打就可以了。如果需要像拼音一样经常选的话,说实话非常浪费时间,这一点上,我觉得Windows下的极点五笔做得非常好,Linux下的极点五笔也不错,可惜也有一个缺憾,就是你打出重码的时候,而且你要打的字就是第一个字,你也必须要补一个空格,不像Win下和SCIM下的五笔,只要接着敲下面的字就可以了,跟没有出现过重码是一样的。而万能五笔跟极点五笔就有这个缺憾,大家都知道“君”和“群”是一样的打法,你打“群”的时候,(我们假设“群”是第一个候选字),以前的用法就是vtkd然后后面再跟要打的字,群这个字会自动被输入,跟从来没有出现过重码的打法是一样的。例如:“一群人”这几个字,我们一个字一个字打的话,肯定是按:g空格vtkdw空格就可以了。不需要在字母d后面补空格,而你用万能五笔的时候必须要选一个,不管你是用空格还是用数字反正你得选一个字,要是接着打的话,就会出错。这也是设计不合理的一个地方。所以我还是换回SCIM了,只留一个五笔。
看来经常用五笔的我都有点我习惯哈!!
爱生活,ichaochao......
头像
ichaochao
帖子: 260
注册时间: 2008-03-17 21:37
来自: 深圳

Re: ibus中使用万能五笔

#35

帖子 ichaochao » 2009-11-07 23:16

ichaochao 写了:
opp 写了:
我是极不习惯这样。 用五笔就是为了减少选字的次数, 不然实际总体的输入速度会极慢。 如果对这个频率不熟,经常会敲错,又要重新敲,很不方便。
我也极不习惯,老是变会经常出错的,用惯五笔的人都知道打五笔的时候百分之99.9的情况我们是不用看候选词的,直接打就可以了。如果需要像拼音一样经常选的话,说实话非常浪费时间,这一点上,我觉得Windows下的极点五笔做得非常好,Linux下的极点五笔也不错,可惜也有一个缺憾,就是你打出重码的时候,而且你要打的字就是第一个字,你也必须要补一个空格,不像Win下和SCIM下的五笔,只要接着敲下面的字就可以了,跟没有出现过重码是一样的。而万能五笔跟极点五笔就有这个缺憾,大家都知道“君”和“群”是一样的打法,你打“群”的时候,(我们假设“群”是第一个候选字),以前的用法就是vtkd然后后面再跟要打的字,群这个字会自动被输入,跟从来没有出现过重码的打法是一样的。例如:“一群人”这几个字,我们一个字一个字打的话,肯定是按:g空格vtkdw空格就可以了。不需要在字母d后面补空格,而你用万能五笔的时候必须要选一个,不管你是用空格还是用数字反正你得选一个字,要是接着打的话,就会出错。这也是设计不合理的一个地方。所以我还是换回SCIM了,只留一个五笔。
看来经常用五笔的我都有点我习惯哈!!
问题解决了,就是在把 .txt 变成 .db 前把 .txt 里的
MAX_KEY_LENGTH = 12
改为:
MAX_KEY_LENGTH = 4
然后生成 .db,接着你应该知道怎么办了,现在总算舒服了一点!!
爱生活,ichaochao......
liuke.forever
帖子: 102
注册时间: 2008-05-28 14:14

Re: ibus中使用万能五笔

#36

帖子 liuke.forever » 2009-11-08 8:57

ichaochao 写了:
ichaochao 写了:
opp 写了:
我是极不习惯这样。 用五笔就是为了减少选字的次数, 不然实际总体的输入速度会极慢。 如果对这个频率不熟,经常会敲错,又要重新敲,很不方便。
我也极不习惯,老是变会经常出错的,用惯五笔的人都知道打五笔的时候百分之99.9的情况我们是不用看候选词的,直接打就可以了。如果需要像拼音一样经常选的话,说实话非常浪费时间,这一点上,我觉得Windows下的极点五笔做得非常好,Linux下的极点五笔也不错,可惜也有一个缺憾,就是你打出重码的时候,而且你要打的字就是第一个字,你也必须要补一个空格,不像Win下和SCIM下的五笔,只要接着敲下面的字就可以了,跟没有出现过重码是一样的。而万能五笔跟极点五笔就有这个缺憾,大家都知道“君”和“群”是一样的打法,你打“群”的时候,(我们假设“群”是第一个候选字),以前的用法就是vtkd然后后面再跟要打的字,群这个字会自动被输入,跟从来没有出现过重码的打法是一样的。例如:“一群人”这几个字,我们一个字一个字打的话,肯定是按:g空格vtkdw空格就可以了。不需要在字母d后面补空格,而你用万能五笔的时候必须要选一个,不管你是用空格还是用数字反正你得选一个字,要是接着打的话,就会出错。这也是设计不合理的一个地方。所以我还是换回SCIM了,只留一个五笔。
看来经常用五笔的我都有点我习惯哈!!
问题解决了,就是在把 .txt 变成 .db 前把 .txt 里的
MAX_KEY_LENGTH = 12
改为:
MAX_KEY_LENGTH = 4
然后生成 .db,接着你应该知道怎么办了,现在总算舒服了一点!!

我想这样是可以解决一些情况下少输入一个空格键的问题,
这样对五笔精通的人是很好,但是用来打拼音/英文输入就有问题了,
MAX_KEY_LENGTH = 4 拼音和英文输入时最长的可不是四次按键就能输入完的。
个人认为,万能五笔还是比较适合那些,五笔不是很精通,拼音/英文会一点的人使用
头像
aqlinf
帖子: 295
注册时间: 2009-10-09 16:21

Re: ibus中使用万能五笔

#37

帖子 aqlinf » 2009-11-08 20:38

太感谢楼主了,简直无可挑剔,很好用啊。
头像
aqlinf
帖子: 295
注册时间: 2009-10-09 16:21

Re: ibus中使用万能五笔

#38

帖子 aqlinf » 2009-11-08 20:41

不过有些字调得有些不合理。比如打“y”键,正常应该出的是“主“字,可是这个竟然是"有"字,这太不合常理不。还有打“im”出的是“不”字而不是“没“字,这也太不合理了。
npxywml
帖子: 206
注册时间: 2009-08-29 14:44

Re: ibus中使用万能五笔

#39

帖子 npxywml » 2009-11-08 21:10

ichaochao 写了:
ichaochao 写了:
opp 写了:
我是极不习惯这样。 用五笔就是为了减少选字的次数, 不然实际总体的输入速度会极慢。 如果对这个频率不熟,经常会敲错,又要重新敲,很不方便。
我也极不习惯,老是变会经常出错的,用惯五笔的人都知道打五笔的时候百分之99.9的情况我们是不用看候选词的,直接打就可以了。如果需要像拼音一样经常选的话,说实话非常浪费时间,这一点上,我觉得Windows下的极点五笔做得非常好,Linux下的极点五笔也不错,可惜也有一个缺憾,就是你打出重码的时候,而且你要打的字就是第一个字,你也必须要补一个空格,不像Win下和SCIM下的五笔,只要接着敲下面的字就可以了,跟没有出现过重码是一样的。而万能五笔跟极点五笔就有这个缺憾,大家都知道“君”和“群”是一样的打法,你打“群”的时候,(我们假设“群”是第一个候选字),以前的用法就是vtkd然后后面再跟要打的字,群这个字会自动被输入,跟从来没有出现过重码的打法是一样的。例如:“一群人”这几个字,我们一个字一个字打的话,肯定是按:g空格vtkdw空格就可以了。不需要在字母d后面补空格,而你用万能五笔的时候必须要选一个,不管你是用空格还是用数字反正你得选一个字,要是接着打的话,就会出错。这也是设计不合理的一个地方。所以我还是换回SCIM了,只留一个五笔。
看来经常用五笔的我都有点我习惯哈!!
问题解决了,就是在把 .txt 变成 .db 前把 .txt 里的
MAX_KEY_LENGTH = 12
改为:
MAX_KEY_LENGTH = 4
然后生成 .db,接着你应该知道怎么办了,现在总算舒服了一点!!
效果真好,太感谢了。
tester
帖子: 25
注册时间: 2006-05-22 17:25

Re: ibus中使用万能五笔与scim码表转ibus码表howto

#40

帖子 tester » 2009-11-09 10:40

很好用,谢谢楼主
jonhhid
帖子: 25
注册时间: 2009-03-14 10:31

Re: ibus中使用万能五笔与scim码表转ibus码表howto

#41

帖子 jonhhid » 2009-11-09 11:44

唉..在SCIM下可以用万能五笔..在这下在不能用万能五笔..因为现在好多字不知道怎么打了...慢慢习惯吧。。。
头像
xzwucl
帖子: 104
注册时间: 2007-10-12 8:43

Re: ibus中使用万能五笔与scim码表转ibus码表howto

#42

帖子 xzwucl » 2009-11-10 12:50

看到不少的高手,学到了东西了!向高手们学习了。
-时尚科技,精致生活-
tester
帖子: 25
注册时间: 2006-05-22 17:25

Re: ibus中使用万能五笔与scim码表转ibus码表howto

#43

帖子 tester » 2009-11-10 17:53

谁知道能不能把ibus的中英文切换 从左shift改成右shift的办法吗?
头像
remeber
论坛版主
帖子: 13030
注册时间: 2009-01-06 15:18
来自: 人间

Re: ibus中使用万能五笔与scim码表转ibus码表howto

#44

帖子 remeber » 2009-11-10 20:54

极点怎么进ibus的??????
npxywml
这个如果实现 应该非常有帮助的!!
能说明下吗?
:em06
“有一种被人抛诸脑后的过去,包含一些不该遗忘的点点滴滴。欢笑之余,我将故旧拾起,才刹见自己的薄情。人世间似乎存在着某种公平,每个人都曾被抛掷在他人的遗忘中;而今你所有哽咽难宣的话语,也正是你曾为人所期盼,却永远听不见的字句。” —赫曼 赫塞
头像
xzwucl
帖子: 104
注册时间: 2007-10-12 8:43

Re: ibus中使用万能五笔与scim码表转ibus码表howto

#45

帖子 xzwucl » 2009-11-10 21:11

按LZ的方法搞好的万能五笔输入法!高兴中。。。。。 :em11
-时尚科技,精致生活-
回复