udev更改按键映射
通过更改udev的规则实现敲击a键获得s的输出
安装evtest
首先安装evtest检测键盘的扫描码
1 |
# apt install evtest |
选择device的数字后,敲击a键可以得到一下信息:
1 |
Event: time 1521361797.053598, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1e |
结果进行了简化,第一个SYN_REPORT代表a键按下,第二个SYN_REPORT代表a键松开,其中可以得到a的扫描码为1e
修改udev
使用编辑器编辑udev规则
1 |
# sudo vim /lib/udev/hwdb.d/60-keyboard.hwdb |
在文件最后添加以下几行
1 |
evdev:input:b0011v0001p0001* |
第一行为一系列规则代表匹配的设备,其中evdev:input:代表输入设备,后面为一些ID,在evtest中输入device的数字之后会有一行输出为
1 |
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab41 |
其中’b0011’,’v000v’,’p0001’分别与bus,vendor,product对应,’*’代表了之后的通配符号
第二行为对设备的映射,行首需要空格否则无效,KEYBOARD_KEY_后跟扫描码,=号右为键值
更新udev
使用以下命令更新,需要将event3换为自己输入的数字
1 |
sudo udevadm hwdb --update && sudo udevadm trigger /dev/input/event3 |
udev更改按键映射的更多相关文章
- [Android] 输入系统(三):加载按键映射
映射表基本概念 由于Android调用getEvents得到的key是linux发送过来的scan code,而Android处理的是类似于KEY_UP这种统一类型的key code,因此需要有映射表 ...
- vim 中按键映射问题
按键映射关键字的组成开始让我摸不着头脑,查了资料,然后来做一个log 按键绑定命令:模式前缀(缺省为normal) + 递归前缀(缺省为空) + map 前缀表示生效范围,递归前缀表示是否递归查找命令 ...
- Linux之更改Nginx映射默认根目录
更改nginx映射默认根目录: 1.打开默认配置文件:sudo vi /etc/nginx/sites-available/default 2.修改配置:root /var/www/html/xx ...
- BigBoss按键映射
// BigBoss: SBSettings Toggle Spec 按键映射 http://thebigboss.org/guides-iphone-ipod-ipad/sbsettings-tog ...
- C++自定义修饰键,实现如<Capslock+J>等组合键的按键映射
前:所谓修饰键,就是Ctrl,Alt,Shift,Win这些按键. Update: 我使用AHK写了一个功能更丰富的脚本:https://github.com/h46incon/ModifierCus ...
- VIM进阶学习之几种模式和按键映射
Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手. vim里最基本的map用法也就是 :map c a 这里把c映射成了a,在map生效的情况下,按下c就等同于按下了a 当然 ...
- Docker 更改容器映射端口
1.编辑容器的配置文件进行更改端口: docker run 运行启动时 -p 可以指定容器启动映射端口 ( ) 可以编辑配置文件 进行修改:(需要重启docker 服务 不止是是容器 才能生效.只能重 ...
- linux按键映射
.Xmodmap keycode = Mode_switch keysym k = k K Left keysym j = j J Down keysym l = l L Right keysym h ...
- 树莓派4B踩坑指南 - (2)安装系统及初始化
安装系统及初始化 格式化TF卡:SDFormatter 4.0.如果需要换系统,则必须先烧录进一个空img,然后再格式化! 烧录系统:Win32DiskImager-0.9.5 更改默认密码:账号pi ...
随机推荐
- HDU-6514 Monitor(二维前缀和+差分)
http://acm.hdu.edu.cn/showproblem.php?pid=6514 Problem Description Xiaoteng has a large area of land ...
- 3.windows-oracle实战第三课 -表的管理
oracle的核心 多表查询.存储过程.触发器 字符型: char 定义 最大2000字符,例如“char(10) '小韩' 前4个字符放小韩,后添加6个空格补全,查询极快 varchar2(2 ...
- 常见 Web 安全攻防总结
Web 安全的对于 Web 从业人员来说是一个非常重要的课题,所以在这里总结一下 Web 相关的安全攻防知识,希望以后不要再踩雷,也希望对看到这篇文章的同学有所帮助.今天这边文章主要的内容就是分析几种 ...
- idea整合mybatis逆向工程
--pom.xml添加插件 <build> <finalName>hnapi</finalName> <plugins> <plugin> ...
- 001.前端开发知识,前端基础HTML(2020-01-07)
一.开发工具: chrome . sublime . photoshop 二.Web标准:不是某一个标准,而是由W3C和其他标准化组织制定的一系列标准的集合. 三.HTML的语言语法骨架格式 < ...
- Yii框架的学习指南(策码秀才篇)1-1 如何认识Yii framework
Yii的框架和其他框架的区别在于:它是更加 快速,安全,专业的PHP框架 Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架. Yii是一个基于组件.用于开发大型 Web 应用的 高性能 P ...
- JAVA循环结构学校上机经常遇到的几题 笔记
package homework.class4; import java.util.*; import java.util.stream.Collectors; import java.util.st ...
- Swiper中文网
http://3.swiper.com.cn/api/Slides_grid/2014/1215/24.html slidesPerView :2, 即设置slider容器能够同时显示的slide ...
- 常用的mysql操作
总结一下常用的mysql操作,避免下次遇到类似情况重复地去百度. 方法不是唯一的,但记录一种可行的方法就可以了. 遇到新的问题再继续补充. 1.增加一个列 ALTER TABLE 表名 ADD COL ...
- es6变量和函数的提升、暂时性死区?
es6变量和函数的提升.暂时性死区?