码迷,mamicode.com
首页 > 移动开发 > 详细

linux键值转android键值配置文件

时间:2020-05-21 16:02:10      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:配置文件   logs   label   需要   这一   keycode   https   rds   索引   

hexdump /dev/hidraw0就能看到usbhid设备传输过来的裸流

如:按下Input键

前面的估计是码流头(003ae60),还有按下(0096),松开(0086)等信息,识别按键有效信息是(006b)

006b其实是索引值,会在下表中寻找键值发送给Android,如:6b对应186

在Android层接收的消息我们可以通过getevent获得

可以看到006b这一项就是hid设备发送过来的码值,ba就是186,在linux层获取到的键值

Android通过event2获得到键值后,接下来就是标准的Android按键映射流程了

首先就是查看/dev/input/event2这个设备文件对应的设备信息及映射表

设备信息是:vendor=0x1a1d, product=0x00e0

那么根据我们之前按键映射流程的分析,会先查找是否有Vendor_[vendor]_Product_[product].kl

这里得到/system/usr/keylayout/Vendor_1a1d_Product_00e0.kl,源码目录在frameworks/base/data/keyboards/Vendor_1a1d_Product_00e0.kl

查看映射表文件,发现

 

即最后会向APK发送KEYCODE_TV_INPUT

最后需要注意的一点是,如果TV_INPUT在KeycodeLabel中没定义,是解析Vendor_1a1d_Product_00e0.kl这个映射表文件的时候会出错,从而导致event2用Generic.kl

因此KeycodeLabel中必须有TV_INPUT项:

 

(转载自:https://www.cnblogs.com/TaigaCon/p/4813742.html)

 

linux键值转android键值配置文件

标签:配置文件   logs   label   需要   这一   keycode   https   rds   索引   

原文地址:https://www.cnblogs.com/goahead--linux/p/12931179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!