2keypad之输入子系统

2keypad之输入子系统

ID:19844985

大小:275.77 KB

页数:15页

时间:2018-10-06

2keypad之输入子系统_第1页
2keypad之输入子系统_第2页
2keypad之输入子系统_第3页
2keypad之输入子系统_第4页
2keypad之输入子系统_第5页
资源描述:

《2keypad之输入子系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、^Se£s4皿Ml弟一早概述1.1kpad控制器介绍Kpad控制器:1.可以控制最多8X8的按键;2.同时最多检测4个按键同时按下(多键检测功能)3."longkey"模式,在一次按键下,发送多次中断。4.按键不按会休眠,按键按下会喚醒CPU。5.可编程"de-bounce"(消抖)、10极性和扫描频率。1.2Kpad配置:pinmap.cpinmap中对kpad的带复用功能的引腳都配置成了复用功能。kpad_cfg.ckpad_cfg.c中进行KEY的配置。sprd-keypad.kl要根据以上两个文件中的定义修改键功能的宏定义。第二章Keypad和输入子系统2.1A

2、ndroid下调试inputsubsystem工具getevent/sendevent这两个命令都是adb下使用的命令xxxx-$getevent•••/dev/input/eventO:0001007400000000•••xxxx-$含义:1.Name字符串与对应的驱动文件注册的input设备名是匹配的1.0001是type,0074是code,而00000001是value1.Event的type以及每个type对应的code的含义可以通过查找kernel¥include¥linux¥input.h获得命令格式2:adbshellsendevent[device]

3、[type][code][value]发送时间,格式和上面的一样,需要注意的是在get中code显示的是十六进制,而send中需要用十进制,例如:#sendevent/dev/input/eventO11161这个命令就是发送数字4的keydown消息2.2linux输入子系统Input输入子系统框架input_dev:表不-个input设备;input_handler:表示一个input设备的interface;input_handle:input_dev和input—handler的linker。事仵驱动层和核心层都是通用的,我们需要实现的是设备驱动层。输入设备驱动

4、会把硬件产生的事件信息用统一的格式(structinput_event)上报给核心层,然后核心层进行分类后,再上报给相应的事件処理驱动程序,最后通过事件层传递到用户空间,应用程序可以通过设备节点来获取事件信息。比如底层报上来的是一个按键事件,核心层会报给evdev来処理;如果报的是一个鼠标事件,核心层会报给mousedev来処理。2.2.0kl文件和kcm文件的作用当有按键响应时,内核input_report_key()传给ANDROID的是scancode,八门01^010将5〔3(1(:0(^经配置表(如qwerty.kl)找到keycode标识符,然后由内部表KE

5、YCODES列表找到keycode的数字值,再由keycode的数字值经字符配置表(如qwerty.kcm)找到对应的字符值。2.2.1DriversHandlerslUmArrCoimileSutKyy^mUSB►InputCore«•Muu»e^bndlef(Alet/mpui/itkiuteXI(AJoAnpuiAmKC)MyMxkILamller(Alo/inpul/jwXOOfc、e«ItMdkrUicnfucccAAcvA^im^cmX)Linux输入子系统概述InputCoreEventHandlerInputDriver输入子系统主要由三个部分组成,In

6、putCore、驱动和事件管理者参考文档:input.hDocuments/input/input.txtDocuments/input/input-programming.txtUsingtheInputSubsystem,PartIITheLinuxUSBInputSubsystem,PartIlinuxinputsubsystem(—)linuxinputsubsystem(—)输入设备的工作机制:在按键、触摸等活动时产生一个中断、CPU通过总线读取数据、驱动将数据放到缓冲区逬行管理、用户通过read等函数读取相应数据。在linux中,输入子系统由:输入子系统驱动

7、层、输入子系統核心层(InputCore)、输入子系统事件処理层三部分组成。InputDriver:input.txtDriver的作用就是将多样化的底层输入设备接口,转换成标准的事件,之后发送至1JInputCore0在linux中,Input设备使用input_dev结构体描述,定义在input.h中。设备驱动如此实现:1.在probe函数中初始化input设备,设置input设备支持的input子系统的哪些事件;2.在probe函数中注册input设备到hput子系统中去;3.在有输入操作时,向InputSubsystem提交对应的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。