ubuntu16.04 改usb键盘的keycode.md
ubuntu16.04 改usb键盘的keycode.md
christopher1 发表于2年前
ubuntu16.04 改usb键盘的keycode.md
  • 发表于 2年前
  • 阅读 35
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

买了一个thinkpad tablet 的usb键盘, 发现contrl建其实是menu键,windows键其实是搜索键。

参考了这几篇文档:

http://thinkpad-scripts.readthedocs.io/en/latest/guides/additional-keys.html

http://compsoc.man.ac.uk/~shep/pedals.html

http://unix.stackexchange.com/questions/156985/keyboard-hard-remap-keys

步骤:

  1. 获取键的scan code :

     sudo apt-get install evtest
    
     sudo evtest
    

获取到的scan code 是5位的16进制数

  1. 找到要映射的key code对应的key 名字:

     less /usr/include/linux/input-event-codes.h  (removing KEY_ and converting to lower case)
    
  2. 获取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查看有没有生效
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 10
码字总数 1480
×
christopher1
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: