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
校验提示文案
陌上荼靡
校验提示文案