Android基本键盘驱动采用了Linux的input和event机制 对于Linux内核主要是这个驱动drivers/input/keyboard/gpio_keys.c 这有篇分析文章 http://www.cnitblog.com/luofuchong/archive/2007/11/12/36157.html 而内核中通过platform机制将按键信息注册进系统: / Android基本键盘驱动采用了Linux的input和event机制 对于Linux内核主要是这个驱动drivers/input/keyboard/gpio_keys.c 这有篇分析文章 http://www.cnitblog.com/luofuchong/archive/2007/11/12/36157.html 而内核中通过platform机制将按键信息注册进系统: /* gpio buttons */ static struct gpio_keys_button gpio_buttons[] = { { .gpio = S3C64XX_GPN(0), .code = 116, .desc = "ENDCALL", .active_low = 1, .wakeup = 0, }, { .gpio = S3C64XX_GPN(1), .code = 139, .desc = "MENU", .active_low = 1, .wakeup = 0, }, { .gpio = S3C64XX_GPN(2), .code = 99, .desc = "ROTATE", .active_low = 1, .wakeup = 0, }, { .gpio = S3C64XX_GPN(3), .code = 102, .desc = "HOME", .active_low = 1, .wakeup = 0, }, { .gpio = S3C64XX_GPN(4), .code = 0x2a, .desc = "BACK", .active_low = 1, .wakeup = 0, }, { .gpio = S3C64XX_GPN(5), .code = 158, .desc = "BACK", .active_low = 1, .wakeup = 0, } }; static struct gpio_keys_platform_data gpio_button_data = { .buttons = gpio_buttons, .nbuttons = ARRAY_SIZE(gpio_buttons), }; static struct platform_device gpio_button_device = { .name = "gpio-keys", .id = -1, .num_resources = 0, .dev = { .platform_data = &gpio_button_data, } }; 按键结构体中特别重要的是code变量中的数据,android通过event机制可以获取这个数据。 而在q5的android系统中,获取到键盘的键值后,会搜索/system/usr/keylayout/gpio-keys.kl这个文件 key 158 BACK WAKE_DROPPED key 139 MENU WAKE_DROPPED key 102 HOME WAKE key 116 ENDCALL WAKE_DROPPED key 99 ROTATOR 如果code与其中的键值相对应,android就会响应对应的按键信息。 至于android如何建立gpio-key.kl这个文件,以及获取到键值后的处理,需要继续研究。

Android键盘研究初步相关推荐

  1. Android人脸支付研究,智能手机上人脸支付系统的设计与实现

    摘要: 随着通信技术的不断发展,3G,4G通信时代接踵而来,不断提高的通话质量及通信速度也推动了手机业务的发展.在智能手机支付问题上,人们对支付的安全性,个人信息的保密性,以及实际操作的便捷性提出了更 ...

  2. android 上键,在Android键盘上设置Return键

    有没有人友好的编码器知道如何更改Android键盘的返回键上的文本.我正在捕获EditText元素的return事件以启动操​​作.所以我想向用户显示他可以用该键启动操作.一些应用程序这样做.例如.他 ...

  3. Android安全研究经验谈

    安全研究做什么 从攻击角度举例,可以是:对某个模块进行漏洞挖掘的方法,对某个漏洞进行利用的技术,通过逆向工程破解程序.解密数据,对系统或应用进行感染.劫持等破坏安全性的攻击技术等. 而防御上则是:查杀 ...

  4. Android Bitmap 研究与思考(上篇)

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/107951273 本文出自[赵彦军的博客] 做Android 6年来,一直都没有对 ...

  5. android 键盘点击事件监听事件,Android 键盘事件触发以及监听

    一.Android 手动显示和隐藏软键盘 如果输入法在窗口上已经显示,则隐藏,反之则显示 InputMethodManager imm = (InputMethodManager) getSystem ...

  6. android 键盘快捷指令

    ANDROID 键盘快捷指令 2011-06-01 22:35:59|  分类: ANDROID|字号 订阅 基本代码 *#*#4636#*#* - 显示手机信息.电池信息.电池记录.使用统计数据.W ...

  7. 键盘android,Android键盘系统浅析(上)

    Android键盘系统浅析(下) 通过往着几个文件中插桩,从模拟器的启动日志,我们可以更直观的开到整个Android键盘系统的建立: -------.. I/SystemServer(   57): ...

  8. Android底层和中间层共同学习系列之android键盘映射

     http://blog.csdn.net/hongjiujing/article/details/5016730 Android底层和中间层共同学习系列之android键盘映射         ...

  9. Android键盘操作的函数:onKeyDown, onKeyUp, on, onKeyMultiple

    android Activity类onKeyUp() ,onKeyDown 略读 Activity.onKeyDown(); 当某个键被按下时会触发,但不会被任何的该Activity内的任何view处 ...

最新文章

  1. 顶一下吧﹗成功配置Samba3.0为域登录和文件服务器的方法!!! [转]
  2. Spring Boot 注解大全,一键收藏!回城路上复习!
  3. 更改windows2003最大连接数的方法
  4. 现存问题以及解决方案:在ASP.NET AJAX中从客户端向服务器端传送DataTable
  5. Linux疑难杂症解决方案100篇(七)-SHELL编程变量与四则运算
  6. 基于MFCC系数的欧氏距离测量
  7. 最年轻图灵奖女性得主:谁说女的数学都比男的差
  8. hashcode、equals
  9. Java基础-异常处理机制
  10. 【LeetCode】剑指 Offer 46. 把数字翻译成字符串
  11. oc基础-OC中对象方法的使用
  12. Fragment学习1--生命周期
  13. (剑指Offer)面试题55:字符流中第一个不重复的字符
  14. java点击按钮弹出警告_GUI求教~~~我想点击按钮确定后,弹出一个提示框输入有误!,,…...
  15. 乘风破浪:LeetCode真题_019_Remove Nth Node From End of List
  16. C++ | Qt编译DLL
  17. 使用python调用百度翻译api进行翻译
  18. 架构师之路读书会 | 15分钟一本,让我为你精读100本好书,快来加入吧!
  19. HDU 1997 汉诺塔VII
  20. 感谢生活--vlink虚拟链路的实现及原理

热门文章

  1. 数组求和的几种实现方法
  2. 现做做不愿意做的事情
  3. “书路计划”助力教育扶智,亚马逊发起儿童数字阅读公益生态
  4. 面试常见IT术语的英文日文英语日语翻译(不断更新中)
  5. Python将图片转换成彩色字符图
  6. 怎样当好一名优秀的班组长?
  7. 学java怎么赚钱?java怎么赚外快?
  8. 2021年中国商铺施工面积、新开工面积、销售面积及未来发展趋势分析[图]
  9. 树莓派pico和LM358运放组成的简单音频采样系统
  10. java for循环 变量定义在内外_关于变量在for循环内外定义的思考