LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2518|回复: 11

竖杆和反斜杆那个键(Backspace下面那个)打不出来,变成>和<,XP下正常

[复制链接]
发表于 2009-5-14 22:42:45 | 显示全部楼层 |阅读模式
我的笔记本是长城A92T1600,在linux系统下竖杆和反斜杆那个键打不出来(Backspace下面那个键)打出来的结果分别是>和<,想打竖杆“|“,结果出来”>“,想打反斜杆”\“,却出来“<”,我试了两个版本都是这样的(fedora10和centos5.3),可是在XP下却能正常打出来,而且在VirtualBox里装的XP虚拟机也可以打出来,各位帮帮忙,应该怎么弄能正常,竖杆在linux下还是挺常用的,没有了很麻烦
发表于 2009-5-15 13:08:57 | 显示全部楼层
网上的图片,看着没有什么大的区别…… 是在 GNOME 下打不出来,还是在 tty 下面也打不出来?键盘映射的有问题,你安装的时候选的是什么键盘?有没有自己生成过 xorg.conf ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-15 18:42:04 | 显示全部楼层
Post by pingz;1987459
网上的图片,看着没有什么大的区别…… 是在 GNOME 下打不出来,还是在 tty 下面也打不出来?键盘映射的有问题,你安装的时候选的是什么键盘?有没有自己生成过 xorg.conf ?

谢谢pingz,试了一下,在tty下结果是一样的,出来的结果也是错误的,安装时选的是美国英语式,试了一下美国国际式还是错的,xorg.conf一直都没去碰过

在系统-首选项-键盘-布局里的键盘型号默认是通用105键(国际)电脑,试过101,102,104都不行,我的键盘是84键的,可是里面没有一个选项是84键的,是不是跟这个有关?

“网上的图片,看着没有什么大的区别……“这个是啥意思,不好意思,没看明白
回复 支持 反对

使用道具 举报

发表于 2009-5-16 00:11:10 | 显示全部楼层
指的是键盘的布局图片……应该是标准的 84 键。一般选美国英语就行。

GNOME 我不是很清楚,但 KDE 下是可以选择键盘的布局,有好多种,像 Dell 、 IBM 的之类的不同笔记本型号可选,不过没长城的,一般就是选择相近的就可以。其实,那个的原理是使用 setxkbmap 命令。你可以看一下:
  1. man setxkbmap
复制代码
尝试一下不同的 model (这个是用 setxbmap -model xxx -variant us 之类的更改)也许可以找到一种正对 A92 键盘的……

话说回来, QT 4.x 有一个笔记本键盘的 bug ,一直都没修复…… 我笔记本上, Fn+ 的好多组合键到现在也没法用。

==============================================================================================

http://www.linuxsir.cn/bbs/thread164969.html

简要的中文介绍,不是很全……凑合吧。还是看 man 吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-16 11:38:24 | 显示全部楼层
真郁闷,我的就这个键和多媒体的功能键(下一首什么的)不行,其它的倒是都可以
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-22 21:53:50 | 显示全部楼层
真不知道< >这两个符号是怎么跑出来的?到处找键盘的配置文件想看看是那个映射出来的?还真没找到!
http://ubuntuforums.org/showthread.php?t=423329  里那位哥们也碰到同样的问题,但是他把
keycode 51, I replaced "less" with "backslash" and "greater" with "bar"换掉就可以了

可是我用xmodmap -pke得到的结果keycode 51已经是backslash 和bar了
.
.
keycode  49 = grave asciitilde
keycode  50 = Shift_L
keycode  51 = backslash bar
keycode  52 = z Z
keycode  53 = x X
.
.
另外在/usr/share/X11/xkb/symbols目录中的那么多文件里:
us文件里有一句是
key <BKSL> {        [ backslash,         bar        ]        };

只有 ara ca nl no四个文件里是映射成大于小于号的
key <BKSL> {  [            less,         greater      ]     };              ara文件里
key <BKSL>  { [      less,    greater, braceright ] };                       ca文件里
key <BKSL>        { [      less,    greater,   dead_grave,   dead_breve ]        };   nl文件里
key <BKSL>        { [apostrophe,   asterisk, dead_doubleacute, multiply ]        };   no文件里

我把这四个文件直接给删除了(虽然选的是美国英语,应该与这几个文件无关)
其它的文件都没有有反斜杆键与小于大于号相对应了,

xorg.conf是
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option            "XkbModel" "pc105"
        Option            "XkbLayout" "us"
EndSection

/etc/sysconfig/keyboard是

KEYBOARDTYPE="pc"
KEYTABLE="us"

不知道还有哪些文件与键盘有关的?
回复 支持 反对

使用道具 举报

发表于 2009-5-22 22:14:16 | 显示全部楼层
要是美国式键盘不行,就改成英国式的。
附:
英国式的键盘在"Z"键的左边有一个"\"键。如果键盘映射成美国键盘的布局,就成"<"了。
回复 支持 反对

使用道具 举报

发表于 2009-5-23 00:17:16 | 显示全部楼层
Post by tomgrean;1990016
要是美国式键盘不行,就改成英国式的。
附:
英国式的键盘在"Z"键的左边有一个"\"键。如果键盘映射成美国键盘的布局,就成"<"了。


这么说有可能噢。不过真是这样的话,只能佩服长城了……竟然要映射成英式键盘……黑线……
回复 支持 反对

使用道具 举报

 楼主| 发表于 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的都替换掉,现在只改一个文件,省了不少时间)。

真搞不懂长城为什么不按常规的来,硬是搞特殊,目的何在?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-4 18:59:19 | 显示全部楼层
今天发现在文本模式下问题还是没解决,依然是大于小于号,原来只是试过xterm下是可以的就以为在tty下也是OK的,
现在有不知道怎么改了,各位帮帮忙
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表