更换背光英文版大回车键盘后与常用的美式键盘相比用起来不习惯,最明显的是左shift旁边的<总会在想按shift时误按到,影响工作效率。
图形化界面和纯字符界面修改的方法不同,而且对相同按键的keycode定义不同。
图形化界面的定义由xmodmap进行管理,通过xev命令在按下按键时会显示keycode定义如下:
KeyPress event, serial 37, synthetic NO, window 0x5a00001,
root 0xd9, subw 0x0, time 414023, (-69,99), root:(516,406),
state 0x0, keycode 94 (keysym 0xffe1, Shift_L), same_screen YES,
XKeysymToKeycode returns keycode: 50
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
通过下面的命令进行重新映射,此处是将<按键映射为左shift
xmodmap -e 'keycode 94 = Shift_L'
字符界面通过/etc/console-setup/cached.kmap.gz进行管理,需要修改时要先将此文件解压,为避免出错最好备份一下:
cp cached.kmap.gz cached.kmap.gz.bak
gzip -d cached.kmap.gz
解压后vi cached.kmap,修改结束后要用gzip重新压缩gzip cached.kmap
需要注意的是字符界面下keycode的定义要通过showkey命令得到,而不是xev, 字符界面下的定义与内核中的定义一致
同样示例将<按键映射为左shift,通过showkey得知<的keycode为86,删除原有86定义,复制42即shift的定义再修改keycode=86.
另附 linux key code Table:
Linux Keycode Table
|