![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
InputManagerService
文章平均质量分 80
Android InputManagerService
xhBruce
黑夜
双城
|
加法
减法
断舍离
展开
-
Input子系统 - Kernel驱动程序 - Android
定义了一组标准事件类型和代码。原创 2023-09-16 18:17:59 · 630 阅读 · 0 评论 -
IMS中Binder案例
(即是 IInputManager.Stub.asInterface(ServiceManager.getServiceOrThrow(Context.INPUT_SERVICE)),InputManager继承。JNI调用到Native层,形式是Android中。形式是Android中。原创 2023-08-23 17:39:21 · 230 阅读 · 0 评论 -
IMS:Activity和View处理InputEvent
Activity和View的事件处理主要对应的InputStage是。是Android-specific Window,实际。通过JNI调用,最终在。,可参照1中时序图流程查看代码。了解,如下图查看,了解其中。查看如下相关文章和时序图。原创 2023-07-04 17:55:21 · 266 阅读 · 0 评论 -
MultiClientInputMethodManagerService启动-Android12
MultiClientInputMethodManagerService原创 2023-02-04 20:56:08 · 1412 阅读 · 0 评论 -
InputManagerService实体按键及组合按键-Android12
InputManagerService实体按键及组合按键-Android12原创 2022-08-18 10:48:24 · 2806 阅读 · 0 评论 -
InputChannel发送Input给App-Android12
InputChannel发送Input给App-Android12原创 2022-07-18 01:35:57 · 1833 阅读 · 0 评论 -
InputChannel通道建立-Android12
InputChannel通道建立-Android12原创 2022-07-17 19:14:36 · 1021 阅读 · 0 评论 -
InputDispatcher线程分发事件-Android12
InputDispatcher线程分发事件-Android12原创 2022-07-16 23:35:24 · 394 阅读 · 0 评论 -
InputManagerService启动-Android12
InputManagerService启动-Android12原创 2022-07-07 12:47:42 · 658 阅读 · 0 评论 -
案例:Android12上“显示刷新频率“点击无效
Android 显示刷新频率 RefreshRateOverlay 遮挡问题原创 2022-06-08 14:08:33 · 476 阅读 · 1 评论 -
IMS:MotionEvent 坐标点(上)
IMS:MotionEvent 坐标点(上)android12-release主要查看获取hal底层原始左边,并通过InputChannel发送流程,其中只关注坐标点Android屏幕x、y轴屏幕的左上角作为坐标原点,X轴向右为正,Y轴向下为正。开发者选项中指针位置、ViewRootImpl坐标打开IMS:开发者选项中指针位置开关,比较直观查看:X:640.9 Y:1250.9这个就是坐标点(640.9,1250.9),这里(ps.mCoords.x,ps.mCoords.y)通过P原创 2022-04-23 22:14:54 · 1941 阅读 · 0 评论 -
Android12特性“不受信任的触摸事件被屏蔽”其他细节
Android12特性“不受信任的触摸事件被屏蔽”其他细节android12-releaseAndroid 12关于Input触摸事件的行为变更 这篇介绍了input实际的拦截findTouchedWindowTargetsLocked“不受信任的触摸事件被屏蔽”相关属性mBlockUntrustedTouchesMode三种属性值:DISABLED不拦截;PERMISSIVE拦截判断最后没拦截;BLOCK拦截frameworks\base\core\java\android\hardwar原创 2022-01-08 21:19:21 · 10884 阅读 · 0 评论 -
Drag and drop拖放框架
Drag and drop拖放框架android11-release应用使用 拖放 Drag and dropDrag and drop拖放启动APP调用启动拖放 Drag and drop startDragAndDrop启动frameworks/base/core/java/android/view/View.javaframeworks\base\services\core\java\com\android\server\wm\Session.java初始化DragState并注原创 2021-09-08 23:46:06 · 1138 阅读 · 0 评论 -
导航键或手势导航注入事件
导航键或手势导航注入事件IMS:injectInputEvent注入Input事件SystemUI注入先搜一波 injectInputEvent : frameworks/base/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.javapublic static final int INJECT_INPUT_EVENT_MODE_ASYNC = 0; // see InputDispatcher.h原创 2021-09-07 10:05:20 · 465 阅读 · 0 评论 -
IMS:InputManagerService小结
IMS:InputManagerService小结android11-releaseIMS:InputManagerService启动简要IMS:InputReader线程获取输入事件IMS:InputDispatcher线程分发事件IMS:InputChannel通过socket发送Input给AppIMS:InputDispatcher 接收反馈进行下一次发送IMS:injectInputEvent注入Input事件InputReader相关点通过EventHub读取BSP底层原创 2021-08-28 19:25:11 · 242 阅读 · 0 评论 -
案例:Input事件有焦点App无焦点窗口
Input事件有焦点App无焦点窗口案例:Android 11 上,KeyEvent 事件上报,发生有焦点App无焦点窗口,报 InputDispatching TimeOut测试手法:反复按back、home、recent或power按键,暂停等一段事件,高概率发生InputDispatching TimeOut分析原因IMS:InputDispatcher的焦点设置google修改https://android.googlesource.com/platform/frameworks/na原创 2021-08-07 13:44:04 · 1759 阅读 · 0 评论 -
IMS:开发者选项中指针位置
IMS:开发者选项中指针位置android11-release开发者选项中指针位置开关指针位置 pointer_location:Settings.System.POINTER_LOCATION packages/apps/Settings/src/com/android/settings/development/PointerLocationPreferenceController.javaWindowManagerService监听frameworks/base/servic原创 2021-08-05 23:00:14 · 3471 阅读 · 2 评论 -
Android 12关于Input触摸事件的行为变更
Android 12关于Input触摸事件的行为变更https://developer.android.google.cn/about/versions/12/behavior-changes-all#untrusted-touch-events不受信任的触摸事件被屏蔽关键日志 Untrusted touch due to occlusion bysettings global 中 block_untrusted_touches 开关adb命令调试:window窗口属性:可信窗口trueo原创 2021-07-30 21:24:20 · 2113 阅读 · 0 评论 -
IMS:InputDispatcher的焦点设置
IMS:InputDispatcher的焦点设置android11-releaseIMS:InputDispatcher线程分发事件ANR InputDispatching TimeOut超时判断焦点窗口和焦点app设置之前都是 Input 分发知道有5s超时检测,没有具体查看报ANR之前的相关逻辑findFocusedWindowTargetsLockedfindTouchedWindowTargetsLocked...原创 2021-07-19 23:43:05 · 1044 阅读 · 1 评论 -
IMS:AccessibilityService辅助服务拦截注入Input事件
AccessibilityService辅助服务拦截注入Input事件android11-releaseframeworks\base\core\java\android\accessibilityservice\AccessibilityService.javaframeworks\base\services\accessibility\java\com\android\server\accessibility\AccessibilityInputFilter.java设置中打开辅助服务设置-原创 2021-06-27 20:58:23 · 1227 阅读 · 6 评论 -
IMS:Input事件可拦截位置
IMS:Input事件可拦截位置android11-releaseIMS:InputReader线程获取输入事件IMS:InputDispatcher线程分发事件KeyEvent事件的可拦截位置interceptKeyBeforeQueueing加入队列前拦截待续~~原创 2021-05-28 01:42:43 · 486 阅读 · 0 评论 -
IMS:EventHub设备底层上报Input事件对象处理
IMS:EventHub设备底层上报Input事件对象处理android11-releaseIMS:EventHub 设备添加和InputDevice转化IMS:InputReader线程获取输入事件IMS:InputDispatcher线程分发事件Android 知识体系input_event 封装成 RawEvent从IMS:InputReader线程获取输入事件 将 input_event 信息封装成 RawEvent ,而IMS:EventHub 设备添加和InputDevice转化原创 2021-03-30 23:30:11 · 374 阅读 · 0 评论 -
IMS:EventHub 设备添加和InputDevice转化
IMS:EventHub 设备添加和InputDevice转化android11-releaseIMS:InputReader线程获取输入事件 已经讲到过EventHub::getEvents读取事件/dev/inputEventHub 设备添加IMS:键盘鼠标接入判断 已经讲到EventHub添加外界设备,以及classes和sources码相关转换标识frameworks\native\services\inputflinger\reader\EventHub.cppframewor原创 2021-03-28 00:32:45 · 691 阅读 · 0 评论 -
IMS:开发者选项Touch点显示
IMS:开发者选项Touch点显示android11-release开发者选项frameworks\base\packages\SettingsLib\res\values-zh-rCN\strings.xmlpackages\apps\Settings\res\xml\development_settings.xmlpackages\apps\Settings\src\com\android\settings\development\ShowTapsPreferenceController.j原创 2021-03-15 01:11:00 · 1695 阅读 · 0 评论 -
IMS:injectInputEvent注入Input事件
IMS:injectInputEvent注入Input事件android11-releaseIMS:InputManagerService启动简要IMS:InputReader线程获取输入事件IMS:InputDispatcher线程分发事件adb命令输入KEYCODE_VOLUME_UPadb shell input keyevent KEYCODE_VOLUME_UPframeworks\base\core\java\android\view\KeyEvent.javaframewo原创 2021-03-07 14:03:45 · 3406 阅读 · 0 评论 -
IMS:InputDispatcher 接收反馈进行下一次发送
IMS:InputDispatcher 接收反馈进行下一次发送IMS:InputChannel通过socket发送Input给App 在该文章中已经讲到 “InputDispatcher” 线程的 Looper 添加对 socket 服务端的监听“InputDispatcher” 线程的 Looper 添加对 socket 服务端的监听frameworks/native/services/inputflinger/dispatcher/InputDispatcher.cpp这里看到 fd 触原创 2021-02-28 14:28:54 · 341 阅读 · 0 评论 -
IMS:InputChannel通过socket发送Input给App
IMS:nputChannel通过socket发送Input给Appandroid11-releaseIMS:InputManagerService启动简要IMS:InputReader线程获取输入事件IMS:InputDispatcher线程分发事件原创 2021-02-28 00:58:08 · 520 阅读 · 1 评论 -
IMS:InputDispatcher线程分发事件
IMS:InputDispatcher线程分发事件android11-releaseInputManagerService启动简要IMS:InputReader线程获取输入事件ANR InputDispatching TimeOut超时判断主要讲述InputDispatcher线程分发正常流程,其他ANR、InputChannel socket建立、Focus window等一概先不管1. InputDispatcher线程启动轮询threadLoopframeworks\native\s原创 2021-02-01 00:32:12 · 680 阅读 · 0 评论 -
InputReader线程获取输入事件-Android12
IMS:InputReader线程获取输入事件android11-releaseInputManagerService启动简要1、InputReader线程启动轮询threadLoop1.1、threadLoopframeworks\native\services\inputflinger\reader\InputReader.cppstatus_t InputReader::start() { if (mThread) { return ALREADY_EXIST原创 2021-01-31 23:26:37 · 729 阅读 · 0 评论 -
IMS:InputManagerService启动简要
InputManagerService启动简要Android系统启动Zygote -> SystemServer -> new SystemServer().run() -> startOtherServices(t) -> new InputManagerService(context);ANR InputDispatching TimeOut超时判断这篇也有相关InputReader\InputDispatcher重要线程启动图进入InputManagerServ原创 2021-01-25 01:20:56 · 443 阅读 · 0 评论 -
ANR InputDispatching TimeOut超时判断
ANR InputDispatching TimeOut超时判断欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowch...原创 2019-05-19 17:51:37 · 15073 阅读 · 0 评论 -
IMS:键盘鼠标接入判断
IMS:键盘鼠标接入判断原创 2021-03-20 19:13:54 · 582 阅读 · 1 评论 -
IMS:键盘鼠标事件
IMS:键盘鼠标事件android11-releaseIMS:键盘鼠标接入判断键盘鼠标接入EventHub可查看IMS:EventHub 设备添加和InputDevice转化、IMS:键盘鼠标接入判断鼠标名称:MI Mouse BT3.0分配的DeviceId:11分配的设备节点:/dev/input/event8classes=0x80000008、sources=0x00002002INPUT_DEVICE_CLASS_CURSOR:经 EventHub、InputDevice原创 2021-04-24 16:39:02 · 439 阅读 · 0 评论