zhcon在kernel 2.6.27上无法切换至中文输入法的解决
by quickmouse <quickmouse@263.net>
2008年10月23日
今天上午才发的昨天工作总结,今天下午终于解决了其中的一个——zhcon无法切换输入法的问题。其表现是进入zhcon以后,按ctrl-space,无法像原来一样切换到中文输入法,而只是在屏幕上出现一个怪异的汉字,同时其他的快捷键也没有正确的反应。google一番似乎有不少人碰到过这个问题,其中最值得借鉴的一个页面是:http://www.linuxsir.org/bbs/archive/index.php/t-274306.html当中的:
============
yscong07-01-14, 12:00
这么久,都没人解决这个问题,难道国人都很笨,还是很懒,
我只好自己动手看源代码,在INPUTMANAGE.CPP这个文件里,会对键盘输入做处理.
原来LINUX支持不同的键盘编码,使用KDB_MODE就可以显示出来,ZHCON不能使用功能键是因为编码用了UTF8,用KDB_MODE -A 切换到ASCII后,ZHCON就正常了,ZHCON不支持UTF8编码的键盘,不知那位高人可以写个PATCH让ZHCON支持UTF8键盘编码.
中国人要自己写软件,不能都靠别人,台湾地震震断光纤对中国的影响值得大家认真思考这个问题
============
我的环境当中没有KDB_MODE,但我立刻在环境变量、Linux kernel src的Documentation目录下查询了所有带utf字样的内容,终于在kernel-parameters.txt当中找到:
vt.default_utf8=
[VT]
Format=<0|1>
Set system-wide default UTF-8 mode for all tty’s.
Default is 1, i.e. UTF-8 mode is enabled for all
newly opened terminals.
又跳回2.6.23.1的内核,同样的参数是:
default_utf8= [VT]
Format=<0|1>
Set system-wide default UTF-8 mode for all tty’s.
Default is 0 and by setting to 1, it enables UTF-8
mode for all newly opened or allocated terminals.
注意,在2.6.27上,这个参数的default已经调整到1了,于是重启机器在grub的kernel参数当中加上vt.default_utf8=0进行启动,一切又ok了。
哇哈哈~~
唉,高手还是太少了,这个问题困扰了我N久一直没有人回答,今天终于搜到答案了……
Xeslaro —— 2010年12月11日 @1:25 am