文档章节

ubuntu16.04 改usb键盘的keycode.md

g
 giguga
发布于 2016/10/30 23:08
字数 259
阅读 39
收藏 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查看有没有生效

© 著作权归作者所有

共有 人打赏支持
g
粉丝 0
博文 10
码字总数 1480
作品 0
浦东
程序员
香蕉派与MOTO的PC坞站的融合

一、材料准备 Q:坞站是什么? A:它其实就是一台缺少CPU、内存、硬盘的的笔记本,仅有11.6寸屏幕(1366x768分辨率)、键盘和电池。显示器接收的是HDMI线传输过来的信号,而MicroUSB接口连接...

sinovoip
2014/05/16
0
0
IT人士缓压必备 超大型USB回车键随你爆

强迫症患者伤不起,尤其是IT行业的强迫症。无时无刻不对着电脑,写程序、编辑网页、修改资料库,林林总总。客户上司当你是万能修改员,无数次改完又改;同事当你是电脑技工,软件硬件问题都由...

oschina
2014/12/24
14.2K
43
ubuntu16.04下 快捷键 ctrl alt b 会出现软键盘

ubuntu16.04下 快捷键 ctrl alt b 会出现软键盘 不知道是输入带的还是系统自带的,请问怎么关闭? 因为有点强迫症 idea中的也有此快捷键,不想更改掉,所以想问下这个怎么解决...

mjchow
2016/08/29
649
1
USB接口爆灾难性安全漏洞,影响全球数十亿设备

位于柏林的SR安全研究实验室专家近日发现了一个代号“BadUSB”的重大USB安全漏洞——USB接口控制器芯片固件可以被重新编程,用于恶意用途,而最糟糕的是,这种重新编程行为几乎无法被察觉和侦...

oschina
2014/08/01
12.5K
57
HACK: Apple官方证实USB键盘漏洞

HACK: Apple官方证实USB键盘漏洞 Mac OS X:Apple官方证实USB键盘漏洞可以被Hack利用 最近(End of July)网上有黑客公布利用Apple的USB键盘的固件升级程序攻破Mac OS X系统的消息,而且已经被A...

junwong
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringData JPA 在解析实体类字段时驼峰自动添加下划线问题

SpringData JPA 使用的默认命名策略是: ImprovedNamingStrategy 。用下划线转换驼峰名,如 authorId ,转换成 author_id 。这样就遇到了一个问题:实体中驼峰命名的列名转换成下划线后,在M...

Jacktanger
2分钟前
0
0
Android JNI开发系列(十)JNI访问 Java 实例变量和静态变量

JNI访问 Java 实例变量和静态变量 Java 中的实例变量和静态变量,在本地代码中如何来访问和修改。静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过类名.变量名来...

蔡小鹏
7分钟前
0
0
jsapi4加载的首个图层的范围被默认作为地图范围,且不能修改的解决

在map加载的第一个图层的图层范围(fullExtent),会被默认设置为map的全图范围,且不能更改,从一般地图控件角度来说,应该有fullExtent属性,作为地图的全图范围,但很遗憾jsapi4.9还没有 ...

canneljls
8分钟前
0
0
JSON.stringify()

JSON.parse()与JSON.stringify()的区别 JSON.parse()【从一个字符串中解析出json对象】 例子: //定义一个字符串 var data='{"name":"goatling"}' //解析对象 JSON.parse(data) 结果是: na...

废柴
8分钟前
0
0
HashSet

前言 Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的)。 构造图如下: 蓝色线条:继承 绿色线条:接口实现 正文 对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保...

狼王黄师傅
10分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部