N1刷coreelec后,移动蓝牙遥控器确定键重映射
背景
多多购买的N1刷了coreelec 9.2.2版,附带的中国移动蓝牙遥控器可以正常配对,方向键、音量键等都能正常使用,但是最关键的确定键不能用。经查阅资料,利用udev hwdb修改底层键位映射,成功解决了确定键问题,跟大家分享一下。
1.查找遥控器硬件标识
ssh连接登录N1 coreelec后,输入命令cat /proc/bus/input/devices,找到自己的遥控器信息.
我的显示如下,Name一栏可以看到遥控器设备名字“YYYKQ”(在你遥控器蓝牙配对成功后时coreelec会显示),记录下bus=0005,Vender=0416,Product=0300,handlers=kbd mouse1 event4这4个信息,后面会用到。
2.找到遥控器键位真实键码
利用evtest命令,找到需要修改的键位真实扫描码scancode.
注意:evtest命令默认没有,需要在coreelec插件库中安装system tools这个插件,装好就有了。
在ssh上,运行命令
systemctl stop kodi
systemctl stop eventlircd
evtest /dev/input/event4
可以看到显示设备YYYKQ,最下面提示testing...等待遥控器按键信号中。这时按下遥控器的确定键,会显示实际接收到的真实键码。
记录下红圈中真实键码c0041。按下ctrl+c退出测试。
3.新建配置文件
键位映射文件一般在这几个路径, /usr/lib/udev/hwdb.d/, /run/udev/hwdb.d/, and /etc/udev/hwdb.d/. 在这里使用 /etc/udev/hwdb.d. 新建配置文件10-btok.hwdb,将确定键重新映射。
用vi编辑该文件,输入内容如下:
其中,第一行是指定设备,格式如下:
evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias>
其中bus_id,vender_id,product_id在第1步已经得到,versionid不要写*号代替就行,修改后保存退出。
第二行是设定键值和对应功能,KEYBOARD_KEY_<scan_code>=<key_code>注意这一行起始有一个空格不能省略,c0041就是第2步得到的真实键码,enter代表功能,必须是小写字母。
根据需要也可以添加其他映射按键,功能名称在第2步也有显示。
4.使配置生效
在ssh终端输入命令:
systemd-hwdb update
udevadm trigger
systemctl start eventlircd
systemctl start kodi
确认按键生效命令udevadm info /dev/input/event4 | grep KEYBOARD_KEY
显示配置的按键修改信息,注意配置文件一定要全部正确,有一处错误则全都不生效。
这时,在coreelec界面上操作也应该可以了。
参考文章
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=530795
linux下如何使用udev hwdb修改键位映射 https://yulistic.gitlab.io/2017/12/linux-keymapping-with-udev-hwdb/
https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes








陌上荼靡
校验提示文案
coolyzp
写配置文件的时候要转成大写:evdev:input:b0005v005Dp0001*
校验提示文案
南方有木430
校验提示文案
谢廷峰
校验提示文案
lovewangbo
校验提示文案
看到你我就晕
校验提示文案
值友4701140227
校验提示文案
amuo
校验提示文案
小小玻珠
校验提示文案
果壳中的宇宙
校验提示文案
快乐糖豆Home
校验提示文案
Sprite20000
校验提示文案
我是小洛洛
校验提示文案
大健健哥哥
校验提示文案
大健健哥哥
校验提示文案
我是小洛洛
校验提示文案
coolyzp
写配置文件的时候要转成大写:evdev:input:b0005v005Dp0001*
校验提示文案
Sprite20000
校验提示文案
快乐糖豆Home
校验提示文案
果壳中的宇宙
校验提示文案
小小玻珠
校验提示文案
amuo
校验提示文案
值友4701140227
校验提示文案
看到你我就晕
校验提示文案
lovewangbo
校验提示文案
谢廷峰
校验提示文案
南方有木430
校验提示文案
陌上荼靡
校验提示文案