1.1概述
InputManagerService 是Android里面一个重要的service。它用于管理整个系统的输入部分,包括键盘、鼠标、触摸屏等等。InputManagerService体系相关知识,在笔者本人的实际工作中,Window 切换 、Touch 问题处理都有用到。
InputManager体系主要是基于Android M代码编写的,作为一个学习记录分享给大家,如果有写错的地方,不完善的地方,请大家多多包含以及指教。
1.2 事件的分类 主要有两类 按键事件(KeyEvent): Home / Back / Menu /Volume Up / Volume Dowm /Camera
触摸事件(TouchEvent):点击 / 拖动
1.3 Input 体系功能的实现大体流程 Input体系类似一个水井系统,把Kerner Input 获得的数据 , 然后根据各种策略 ,反馈给了对应的Window。驱动层获得Input数据,写入/dev/input里面,然后EventHub 从/dev/input 里面,去把数据获得出来。然后InputDispatcher根据各种策略把数据传输对应的Window里面。 草图一张:
1.4 Input体系 子文章编写计划
主要是分为Event事件的读取跟分发,还有案列等三个方向去编写子文章。