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了。
    哇哈哈~~


1条评论

  1. 唉,高手还是太少了,这个问题困扰了我N久一直没有人回答,今天终于搜到答案了……

发表评论

评论也有版权!

click to change验证码