找回密码
 注册
查看: 2004|回复: 10

如何交换键盘上的两个键

[复制链接]
发表于 2002-12-2 17:43:09 | 显示全部楼层 |阅读模式
我键盘上的shift键坏了----两边都坏了,怎样可以把它换成其它不用的键,比如ms的小旗、键盘上的鼠标的右键等。
或者把几个常用的要shift才可以输入的字符用其它的键输入。
直觉告诉我要用汇编,但不知如何实现。
发表于 2004-10-8 20:29:51 | 显示全部楼层

Re: 如何交换键盘上的两个键

[quote:4317623265="吴文官"]我键盘上的shift键坏了----两边都坏了,怎样可以把它换成其它不用的键,比如ms的小旗、键盘上的鼠标的右键等。
或者把几个常用的要shift才可以输入的字符用其它的键输入。
直觉告诉我要用汇编,但不知如何实现。[/quote]
这位兄台跟我一样啊,我也是笔记本两边shift都坏了,现在没法输很多字符了。只有复制,粘贴,你怎样解决的啊?
回复

使用道具 举报

发表于 2004-10-9 11:15:40 | 显示全部楼层
烙铁。。。。焊
回复

使用道具 举报

发表于 2004-10-9 14:22:27 | 显示全部楼层
如果是以前的DOS,还知道要写个东西替换键盘中断,但现在的Linux都不知道如何去编程了,资料少得可惜,每写一个软件翻资料都要找得个头破血流,可怜ing ...  
回复

使用道具 举报

发表于 2004-10-9 15:11:04 | 显示全部楼层
我交换了CTRL和CAPSLOCK

写一个 .Xmodmap
         ↓
---------------------

remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L

---------------------
   ↓ 
  然后重启
   ↓ 
# xmodmap .Xmodmap[return]
回复

使用道具 举报

发表于 2004-10-10 23:58:17 | 显示全部楼层
瞳瞳好棒也!!
回复

使用道具 举报

发表于 2004-10-16 13:06:17 | 显示全部楼层
首先谢谢瞳瞳提醒用xmodmap
这个问题看起来简单,其实很麻烦。
问题情况如下:
1.键盘上的shift键是完全坏掉了,用xev查看根本没有反应,相当于根本不存在。也就根本无法看到shift键的     keysym是什么,所以交换2个键的办法是行不通了。
2.键盘上有没有用的键,用xev查看有keycode 131, 但是keysym是0x0,NoSymbol,看来默认的keysym表里没有设这个键。
我的问题是:
1.如何查看当前的keysym表
2.如果我能看到shift的keysym,应该就可以直接用 keycode xxx = KEYSYM 来把shift定义到没用的键上
3.谁能帮忙用xev看看shift的keysym是什么就好了

Thanks
回复

使用道具 举报

发表于 2004-10-16 16:46:19 | 显示全部楼层
KeyPress event, serial 23, synthetic NO, window 0x2400001,
    root 0x48, subw 0x0, time 13030904, (170,-12), root176,2,
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes:  ""

KeyRelease event, serial 23, synthetic NO, window 0x2400001,
    root 0x48, subw 0x0, time 13031022, (170,-12), root176,2,
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes:  ""

KeyPress event, serial 23, synthetic NO, window 0x2400001,
    root 0x48, subw 0x0, time 13035968, (170,-12), root176,2,
    state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes:  ""

KeyRelease event, serial 23, synthetic NO, window 0x2400001,
    root 0x48, subw 0x0, time 13036055, (170,-12), root176,2,
    state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes:  ""
回复

使用道具 举报

发表于 2004-10-16 17:06:29 | 显示全部楼层
1.   xmodmap -pke
回复

使用道具 举报

发表于 2004-10-16 19:34:35 | 显示全部楼层
谢谢楼上二位,x下还是不行,不过我已经找到文本模式下面的方法了,刚发了个帖子在这里:
http://www.linuxfans.org/nuke/mo ... pic&t=88730
回复

使用道具 举报

发表于 2004-10-17 15:50:43 | 显示全部楼层
也可以用硬件法来解决的:

找把螺丝刀把键盘拆开,你会看到每个键的后面有一个或多个杯状的塑料帽,像Enter等常用键的后面还有铁丝做的弹簧。将坏掉的那几个键的塑料帽换到不常用的键上就可以了。
不过要注意别把塑料帽搞丢了,我上次清洗键盘时就丢了几个。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2025-2-12 01:30 , Processed in 0.033162 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

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