免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3611 | 回复: 8
打印 上一主题 下一主题

[已解决] 一个很奇怪的键盘问题.... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-17 12:39 |只看该作者 |倒序浏览
以前很好的..不知道怎么搞的..今天开机.发现使用 双引号和单引号都需要按2下才会显示出来..而且显示出来的图标又不对....<重启还是一样>
eg: ¨ <双>           
        ´  <单>
在cui界面 按一下shift+双引号的键 .不会显示任何东西.在按下tab 会显示双引号.并且这个引号正确 不 同于上面的.
我rdesktop 的时候 使用单/双 引号的时候会输出警告信息. ..但远程电脑照样可以使用双/单引号.
WARNING: No translation for (keysym 0xfe51, dead_acute)
WARNING: No translation for (keysym 0xfe57, dead_diaeresis)

而使用其他的符号不会..
感觉我这个2键keymap<对这个不太懂..>有点问题.

望高人指点下...

[ 本帖最后由 newsecond 于 2007-7-19 14:25 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-07-17 12:50 |只看该作者
[root@www init.d]# uname -a
Linux www.mydream.com 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007 i686 athlon i386 GNU/Linux

论坛徽章:
0
3 [报告]
发表于 2007-07-17 15:06 |只看该作者
哎查了己个小时的资料..还是没搞定..

论坛徽章:
0
4 [报告]
发表于 2007-07-17 15:32 |只看该作者
接着找.麻烦知道的大侠帮帮忙...
这个是我的日志记录
Jul 16 08:35:38 www kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xd8 on isa0060/serio0).
Jul 16 08:35:38 www kernel: atkbd.c: Use 'setkeycodes e058 <keycode>' to make it known.
Jul 16 08:35:38 www kernel: atkbd.c: Unknown key released (translated set 2, code 0xd8 on isa0060/serio0).

所以直接查看他的keycode<->keysym的map

[root@www ~]# xmodmap -pk | grep 48
     43         0x0068 (h)      0x0048 (H)
     48         0xfe51 (dead_acute)     0xfe57 (dead_diaeresis) 0x0027 (apostrophe)     0x0022 (quotedbl)       0x0027 (apostrophe)     0x0022 (quotedbl)
    148   
    248  

发现他都是dead_acute ,dead_diaeresis
然后接着做keycode 到keysym 的map

34#xmodmap -e ¨keycode 48 = aapostrophe¨
xmodmap : unable to open display ¨


哎呀又报错....高人帮帮忙阿......先吃饭去了....快饿晕了

[ 本帖最后由 newsecond 于 2007-7-17 15:34 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-07-17 15:36 |只看该作者
还有个..问题..我用showkey --------检测keycode 和xev检测的keycode...不一样...不解当中
showkey是scan code -keycode的map
xev检测的是keycode-keysym的map
呵呵..没看仔细..

[ 本帖最后由 newsecond 于 2007-7-17 16:30 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-07-17 22:24 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2007-07-18 09:55 |只看该作者
先谢谢楼上的回答.....

我是什么都没做...一开机就是这样了

没有重新map..
最主要的是: 在CUI界面输出 双引号. 不会显示出来,好像这个键没使用一样,但接着你随便<除掉引号键>按其他键,
                                                                                           引号会显示出来.
                        gui死活都不显示正确的..引号

论坛徽章:
0
8 [报告]
发表于 2007-07-19 13:46 |只看该作者
已经解决了在X下面输入

xmodmap -e " keycode 48 = apostrophe quotedbl "        

前面引号不正确...输入不了 呵呵...难怪老报错...而且心急..竟然还跑cui界面下允许.....

在cui界面 输入
#loadkeys -
keycode 40 =apostrophe quotedbl

不过一开机就又回到原来的情况.怀疑系统加载keymap文件时候有错误.暂时先把这些放到rc.loal
自己找不到系统启动时加载的keymap文件. ..!!!!!

[ 本帖最后由 newsecond 于 2007-7-19 13:49 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2007-07-19 14:24 |只看该作者
我把我找的一些资料发出来..可能对大家有用.
术语:
      keycode  每一个键,有一个单独的码对应它,称之为键码

      scancodes   The usual PC keyboard produces a series of scancodes for each key press
       and  key  release. (Scancodes are shown by showkey -s, see showkey(1).)
       The kernel parses this stream of scancodes, and converts it to a stream
       of  keycodes <我也不知道是什么意思,麻烦知道的请告知一下,谢谢>

       keysym 连接到每一个键码 (或键)的是一个keysym的表列.一个keysym是一个代表印在键盘符号上的数字常数。在预设的情况,大多数的键只有一个keysym 与之对应,例如 SHIFT,A,B,Delete,Linefeed等等.



CUI
查看keymaps:
         使用dumpkeys 你可以查看到系统中键盘转换列表.<不包括gui的>,其中一条如下:
                                        keycode  44 = z   
                        表示你按下z键的时候具有z键的功能,<第一个z表示keycode 44键的位置,第2个代表他的功能>.
                                把他修改为 keycode 44 = y
                        当你在cui界面按下z键<keycode 44>,并不会输出z,而是y..<在gui不行,因为gui使用另外一个keymaps文件.>
                       
                        详细请看: man keymaps
修改keymaps: loadkeys -
                                keycode 44 = y

查看keycodes: showkey -k/-s      



GUi

查看keymaps
                        xmodmap -pk
修改keymaps
                        xmodmap -e " keycode 48 = apostrophe quotedbl " 注意:= 号2边空格

我就知道这么多了..如果错误麻烦指出谢谢,希望知晓人指教.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP