按键映射文件
文章目录
在做比如遥控器按键开发时,或者想自己改改按键映射到不同的key上,需要如何进行查看和配置?步骤如下:
通过 getevent -l
找到对应的设备,之后利用 getevent -i
找到 vendor
和 product
ID,之后利用这些信息去找到对应的 kl
文件,然后按自己的想法去改这个文件就行了,那我们一步一步来。
getevent -l
利用 getevent 命令行工具获取当前输入设备有哪些
getevent -l
再试着按下遥控器按键就能知道对应是哪个设备了
如图所示,我们知道了这款设置是 /dev/input/event8,接着我们来获取更详细的信息
getevent -i
利用这个命令获取 vendor
和 product
ID
getevent -i /dev/input/event8
如图我们就知道了设备对应的 vendor
和 product
ID 了,接着我们按如下的顺序进行查找
- /odm/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
- /vendor/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
- /system/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
- /data/system/devices/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl
- /odm/usr/keylayout/Vendor_XXXX_Product_XXXX.kl
- /vendor/usr/keylayout/Vendor_XXXX_Product_XXXX.kl
- /system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl
- /data/system/devices/keylayout/Vendor_XXXX_Product_XXXX.kl
- /odm/usr/keylayout/DEVICE_NAME.kl
- /vendor/usr/keylayout/DEVICE_NAME.kl
- /system/usr/keylayout/DEVICE_NAME.kl
- /data/system/devices/keylayout/DEVICE_NAME.kl
- /odm/usr/keylayout/Generic.kl
- /vendor/usr/keylayout/Generic.kl
- /system/usr/keylayout/Generic.kl
- /data/system/devices/keylayout/Generic.kl
当构建包含设备名称的文件路径时,设备名称中除“0-9”、“a-z”、“A-Z”、“-”或“_”之外的所有字符将替换为“_”。
系统提供了一个特殊的内置常规按键布局文件,名为 Generic.kl
。此按键布局旨在支持各种标准外部键盘和操纵杆。请勿修改常规按键布局!
打开 kl 文件就能看到映射的 keycode 是哪个了,如下所示:
如果你的设备支持 root 的话,可以执行 adb root
,adb remount
将这个 kl 文件映射修改然后试试吧。
参考链接
文章作者 Brook
上次更新 2022-03-22