IMS:InputManagerService小结
Posted xhBruce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IMS:InputManagerService小结相关的知识,希望对你有一定的参考价值。
IMS:InputManagerService小结
android11-release
IMS:InputManagerService启动简要
IMS:InputReader线程获取输入事件
IMS:InputDispatcher线程分发事件
IMS:InputChannel通过socket发送Input给App
IMS:InputDispatcher 接收反馈进行下一次发送
IMS:injectInputEvent注入Input事件
InputReader 关注点
- 通过EventHub读取BSP底层上报事件
- InputMapper处理事件转成各种NotifyArgs
QueuedListener->flush
通过NotifyArgs通知到InputDispatcher
InputDispatcher 关注点
- 通知过来到
mLooper->wake()
唤起,中间有interceptKeyBeforeQueueing
、interceptMotionBeforeQueueing
、InputFilter
相关处理拦截 InputDispatcher::injectInputEvent
注入事件不会经过InputReader
,所以不会有touch小圆点;也没有InputFilter
相关处理拦截,主要场景是无障碍辅助服务
拦截后需要注入事件InputChannel/InputEventReceiver
一般是Activity应用添加界面时注册,说的是应用界面Input事件发送。其实,开发者模式指针位置
用到PointerEventDispatcher InputChannel\\PointerEventDispatcher
;WMS中DragDrop界面拖拽功能
使用drag InputChannel\\DragInputEventReceiver
;还有各公司的定制特殊全局手势
以上是关于IMS:InputManagerService小结的主要内容,如果未能解决你的问题,请参考以下文章