键盘管理

题目比较简单,《键盘管理》,但是实际上的工作还是比较复杂的,先描述一下:

环境:

1、产品的硬件完全是自己开发的,用了芯片厂家给的Gingerbread的开发包,android的编译及在板子上跑没问题了。

2、一个已经销售产品的模块,具有管理键盘的功能。使用串口和新开发的板子连接。模块和主板采用私有的通讯协议。其中有很多按键被定义成了系统按键。

3、新开发的板子上也管理了几个按键,主要是系统按键。

目的:

1、按串口管理的一部分系统按键,android启动相应的应用程序。

2、按串口管理的另一部分系统按键,android执行特定的操作。

3、按串口管理的数字键及字母键时,如果有输入焦点,在相应的输入框内显示相应的字符,如果当前应用没有输入框或在桌面上,启动一个特定的应用程序。

因为串口还会被rild使用,所以读按键值的时候不能和rild中reference-ril的atchannel.c的readline冲突。

目前涉及到的部分有:

rild,主要是libreference-ril.so相关的代码。

uinput的操作。

frameworks/base/libs/ui下面的EventHub.cpp、Inpue*.cpp

frameworks/base/services/jni/com_android_server_InputManager.cpp

frameworks/base/services/java/com/android/server/Input*.java

frameworks/base/services/java/com/android/server/am/ActivityManagerService.java

 要从count = read(s_fd, p_read,MAX_KEY_CODE);  读串口开始,一直分析到如何

Intent intent = new Intent(Intent.ACTION_MY_ACTIVITY); 启动一个特定的应用。

其中涉及到的部分比较多,要一步一步的分析及整理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值