买了一个thinkpad tablet 的usb键盘, 发现contrl建其实是menu键,windows键其实是搜索键。
步骤:
1.获取键的scan code :
sudo apt-get install evtest
sudo evtest
获取到的scan code 是5位的16进制数
2.找到要映射的key code对应的key 名字:
less /usr/include/linux/input-event-codes.h (removing KEY_ and converting to lower case)
3.获取usb键盘的vendorID和productID: dmesg
4.修改/lib/udev/hwdb.d/60-keyboard.hwdb 或按这个文件中的提示新建/etc/udev/hwdb.d/70-keyboard.hwdb (按照这个文件中的提示让设置生效不行,请继续看下面)在最后添加:
# added by zwg to map thinkpad tablelit keyboard ctl and search key to nornal
evdev:input:b*v1241p0003*
KEYBOARD_KEY_c0040=leftctrl
KEYBOARD_KEY_c0221=leftmeta
(注意: evdev要顶格写,下面那两行要空一格)
5.使设置生效
sudo udevadm hwdb --update
sudo udevadm trigger --sysname-match="event*" (60-keyboard.hwdb中写的udevadm trigger /dev/input/eventXX 无法使设置生效,不知为何)
可以用evtest查看有没有生效。