按键从Linux到Android - Android-Linux.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按键从Linux到Android - Android-Linux

Android/Linux 的专栏 Email:kangear#163.com  目录视图  摘要视图  订阅 【博乐】把C 币,装进你的口袋 专家亲授Hadoop 技术,你报名了吗? 软考套餐限时7 折优 惠 CSDN 移动客户端,下载送50C 币 按键从Linux 到Android 分类:Android2013-09-27 21:095090 人阅读评论(0)收藏举报 按键从Linux 到Android 现在的普通按键也集成到Linux Input 子系统中了,只需要把按 键对应的IO 端口配置好,按键就可以工作了。所以一般提供的 BSP(或者叫作解决方案)中,已经完善了按键驱动。关键是快速的了 解按键的映射。所以这里不作源码级分析。源码分析可以参考这里: 《基于S3C2440 的Linux-3.6.6 移植——按键驱动》 Linux 按键的扫描码 扫描码是Linux Input 系统中规定的码值,好比PC 键盘上每个 键的键值。都是数字。 在设备上输入一下命令后,按键可以探测到得到每个按键的扫描码 Code. root@android:/ # busybox hexdump /dev/input/event0 更:同样可以使用Android 中专 用的getevent 命令) Android 与 Linux 分隔线 Android 也定义了一套码,叫作键盘码,通过一个 /system/usr/keylayout/来将两套码对应起来。目前调试的是全志 的A10 的BSP 包。这里用的是sun4i-keyboard.kl。(如果没有其 它*.kl,则是默认的qwerty.kl) Linux 上传的Code 是0x00d9 对应 10 进制217,打开sun4i- keyboard.kl 后可以看到映射关系: 可以看出对应的是BRIGHTNESS_DOWN,Android 中只认 BRIGHTNESS_DOWN (这里成为字串),Linux 中的Code 至此为 止。 (在Android 源码中也能找到这个映射文件可以依名字搜索找到 其位置) Android 源码中添加该按键 如果Android 中 frameworks/base/core/java/android/view/KeyEvent.java 有 要添加的功能,比如HOME,则只修改*.kl 映射按键即可修改或者添加 映射。 如果KeyEvent.java 中本没有要添加按键的功能,就可以在 KeyEvent.java 的KeyEvent 类最后依葫芦画瓢添加: 如不知道功能的键盘码是多少可以到这里找到。 然后根据KeyEvent 类最后的添加键提示,每个文件都添加上: // NOTE: If you add a new keycode here you must also add it to: // isSystem() // frameworks/base/native/include/android/keycodes.h // frameworks/base/include/ui/KeycodeLabels.h // external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h // frameworks/base/core/res/res/values/attrs.xml // emulator? // LAST_KEYCODE // KEYCODE_SYMBOLIC_NAMES // // Also Android currently does not reserve code ranges for vendor- // specific key codes. If you have new key codes to have, you // MUST contribute a patch to the open source project

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档