|
楼主 |
发表于 2009-5-23 14:42:22
|
显示全部楼层
谢谢各位的帮忙。
终于解决了,
昨天只是以为key <BKSL>是对应的竖干和反斜杆那个键,所以我是按关键字key <BKSL>搜索,看看那个文件的key <BKSL>是定义成 less, greater的,只有四个文件里有,
受tomgrean的启发:
感觉有点不对,会不会是出问题的键不是key <BKSL>,既然出来的大于小于号,那我就搜索所有定义成less, greater的键,结果发现有十几个文件里都有定义成less, greater的,而且都是key <LSGT> { [ less, greater, bar, brokenbar ] };
特别的是文件名为pc的里面也有
key <LSGT> { [ less, greater, bar, brokenbar ] };
联想到/etc/sysconfig/keyboard是
KEYBOARDTYPE="pc"
KEYTABLE="us"
和 us文件里并没有定义key <LSGT>
所以感觉问题就在这里:
应该是我的键盘反斜杆键是对应key <LSGT>,而不是key <BKSL>(大多数的应该是对应这个的)
而us文件里没有定义key <LSGT>,那默认就应该到pc文件里找相应的定义,正好pc文件里key <BKSL>是定义成 less 和 greater ,所以打出来的结果就是小于号和大于号,而不是反斜杆和竖杆,至于为什么在us文件里没有定义的键要到pc文件里找,感觉是pc文件于键盘的布局是相对应的,因为里面有有 pc101 pc102 pc104 pc105 等字样。
把pc文件的key <LSGT> { [ less, greater, bar, brokenbar ] };中的less和greater 都替换成 backslash和bar问题就解决了(本来还想把所有文件里含有less, greater的都替换掉,现在只改一个文件,省了不少时间)。
真搞不懂长城为什么不按常规的来,硬是搞特殊,目的何在? |
|