几年以前淘的X40本本被老婆淘汰下来了,放着浪费装了个Archlinux又可以折腾下。
但这X40是日文键盘,多出了很多键也老是按错,用着很不爽!!
想着修改里面多出来的一些按键的值,但面临着两个问题
- 得到特定按键的键名/键值
- 设置按按键键值
找了好久未果,问一Linux老鸟得知可通过xev得到所按键的键名/键值,再通过xmodmap可设置
直接运行xev(linux下抓取按键键值的小工具),按一下所经修改的按键,在输出的信息中找到类似(keysym 0xff22, Muhenkan)
的内容,其中0xff22
为键值,Muhenkan
是键名。
通过以下命令就可将按键映射为想要的键值了
xmodmap -e "keysym 预设定的键名 = 当前按键键名"
如我想将键名为Muhenkan的按键映射为Win键(键名为Super_L),则这样写
xmodmap -e "keysym Super_L = Muhenkan"
到此就达到了目的了,但这样设置位未保存到设置中,重启后就没了,所以我将上面的代码加入到/etc/rc.local
中了
另:/usr/include/X11/keysymdef.h 中包含所有的符号名,在其中可以找到你想要的键名,里面也有些简短的注释