centos7应用笔记:键盘重影射
我的键盘 右shift键
无法使用了。想使用 右alt键
代替。
查询了一下 xmodmap 命令可以实现该功能。
以下是我的配置方法的记录。
xmodmap 配置文件
xmodmap 配置文件的作用是:交换 右shift键
和 右alt键
。
可以参考 manpage 中的例子。
创建一个 xmodmap 配置文件:
/etc/xmodmap.config
xmodmap 配置文件内容:
! swap Alt_R and Shift_R
remove Shift = Shift_R
remove Mod1 = Alt_R
keysym Shift_R = Alt_R
keysym Alt_R = Shift_R
add Shift = Shift_R
add Mod1 = Alt_R
xmodmap 指令的使用
xmodmap 执行配置文件。交换 右shift键
和 右alt键
。
xmodmap /etc/xmodmap.config
将以上的指令写入 /etc/profile
中。就可以再开机的时候自动配置了。
注意:
如果再执行一次
xmodmap /etc/xmodmap.config
。两键又会交换回来的。
xmodmap 其他指令。
使用 xmodmap 查看 modifier 键值影射。
xmodmap
> xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
>
> shift Shift_L (0x32), Shift_R (0x6c)
> lock Caps_Lock (0x42)
> control Control_L (0x25), Control_R (0x69)
> mod1 Alt_R (0x3e), Alt_L (0x40), Meta_L (0xcd)
> mod2 Num_Lock (0x4d)
> mod3
> mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
> mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
查看 keycode
使用 xev 指令可以查看 keycode 和 keyname。
xev | grep keycode
> state 0x0, keycode 38 (keysym 0x61, a), same_screen YES, # key `a` pressed
> state 0x0, keycode 38 (keysym 0x61, a), same_screen YES, # key `a` released
> state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, # key `Control_L` pressed
> state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, # key `Control_L` released
> state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, # key `Shift_L` pressed
> state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, # key `Shift_L` released
> state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES, # key `Return` pressed
> state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES, # key `Return` released