移植kl档,但调用默认Generic.kl解决的方法

移植kl档,但调用默认Generic.kl解决的方法

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

从飞机到现在移植模型来开发遥控器按键,调查发现,大部分的功能键始终没有任何效果。

dumpsys input

要查看当前的关键kl, 查找KeyLayoutFile它原来是默认Generic.kl,而不是我希望映射的Vendor_xxxx_Product_xxxx.kl这类的文件。

移植kl档,但调用默认Generic.kl解决的方法

会映射到默认的Generic.kl一般是由于driver中的verdor/product/version没有指定对,我检查kernel driver中的dev->driver_name等配置也没有问题。

还有一方面。从dump出的Identifier也能够印证我的driver配置是正确的。

于是仅仅好在InputDevice.cpp的getInputDeviceConfigurationFilePathByDeviceIdentifier()函数中加log。发现获取的vendor/product/versin都是正确的。load到的kl文件也没有问题。可是在log的下一行,却发现有KeyLayoutMap的错误:

[20:34:57]E/KeyLayoutMap( 1437): /system/usr/keylayout/Vendor_xxxx_Product_0001.kl:88:Expected key code label, got ‘VIRGIN’.


猛然醒悟。我还没有在KeycodeLabels.h 等文件里移植加入“VIRGIN”等按键。于是我先把我的Vendor_xxxx_Product_0001.kl这个文件里的“VIRGIN”之类的键先凝视掉。再编译。dumpsys input,果然KeyLayoutFile获得到了正确的值:

移植kl档,但调用默认Generic.kl解决的方法

移植kl档,但调用默认Generic.kl解决的方法

看来android会对kl中设定的按键与KeycodeLabels.h中的定做一个KeyLayoutMap的动作,而一旦没有map成功。KeyLayoutFile就会使用默认的Generic.kl文件。

这个KeyLayoutMap的机制是我之前不知道的。看来接下来,须要细致分析下这个机制了~~~


版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116767.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 可取回的国内csgo开箱网站incsgo开箱[通俗易懂]

    可取回的国内csgo开箱网站incsgo开箱[通俗易懂]可取回的国内csgo开箱网站incsgo开箱官方链接:www.incsgo.gg注册登录自动免费获得$1.00美金优惠码:csgogo(充值使用csgogo可增加5%充值金额)支付:微信支付宝状态:直接取回

    2022年10月5日
    0
  • 使用Gson将Object转String出现\u003d 的原因「建议收藏」

    使用Gson将Object转String出现\u003d 的原因「建议收藏」在使用Gson将Object转json字符串,或者将实体类例如:User转为json的过程中,最终的结果会在值中出现\u003d出现这个的原因是Gsongson=newGson()造成的这个时候需要使用Gsongson=newGsonBuilder().disableHtmlEscaping().create();实例化一个gsongson.toJson(…

    2022年5月29日
    379
  • VMware 15 Pro 激活码 2021[在线序列号]

    VMware 15 Pro 激活码 2021[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    93
  • C语言:strcmp()—字符串比较

    C语言:strcmp()—字符串比较C语言:strcmp()—字符串比较函数原型、参数、功能和使用方法。

    2022年10月21日
    0
  • JavaScript SheetJS将 Html 表转换为 Excel 文件

    JavaScript SheetJS将 Html 表转换为 Excel 文件在本教程中,我们可以在客户端从我们的HTML表数据创建一个excel文件。即使用javascript将HTML表导出到Excel(.xlsx)。有许多可用的库可以从HTML表创建CSV文件或xlsx文件,但所有库都给出了提示消息。那就是当我们打开该excel文件时,它会提示一条消息,文件名的文件格式和扩展名不匹配。该文件可能已损坏或不安全。今天这篇文章将使用SheetJS,它允许我们在没有任何提示信息的情况下创建和打开excel文件,这是纯javascript的。使用..

    2022年7月17日
    13
  • 怎么创建web项目_vs怎么创建项目

    怎么创建web项目_vs怎么创建项目进入WTM官网:WTM–Rapiddevelopmentframeworkbasedondotnetcore进入项目创建向导:mysql字符串:server=localhost;database=library;user=user;password=password项目结构如下:使用vs2022打开:直接运行项目:等待编译和前端依赖下载完成即可。注意:需要在本机安装nodejs环境。主页…

    2022年10月22日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号