android input子系统--InputReader EventHub::getevents之mClosingDevices调用过程详细分析

原创 2018年04月14日 23:07:58

EventHub::getEvents中:分析mClosingDevices在android系统中的调用过程

        // Report any devices that had last been added/removed.
        while (mClosingDevices) {
            Device* device = mClosingDevices;
            ALOGV("Reporting device closed: id=%d, name=%s\n",
                 device->id, device->path.string());
            mClosingDevices = device->next;
            event->when = now;
            event->deviceId = device->id == mBuiltInKeyboardId ? BUILT_IN_KEYBOARD_ID : device->id;
            event->type = DEVICE_REMOVED;
            event += 1;
            delete device;
            mNeedToSendFinishedDeviceScan = true;
            if (--capacity == 0) {
                break;
            }
        }


mClosingDevices在android系统中所出现的地方

1.EventHub:~EventHub的构造函数中将其初始化为0


2.EventHub:EventHub的构造函数中如果mClosingDevices存在,那么将一个个取出,并

将其device释放,然后关闭epoll,notify,pipe的文件 mEpollFd mINotifyFd  mWakeReadPipeFd mWakeWritePipeFd

3.如果mClosingDevices存在,那么挨个取出mClosingDevices,然后将其构造成RawEvent,然后将变量

mNeedToSendFinishedDeviceScan设置为true


4.此处是对mClosingDevices进行赋值的地方



Android 输入事件系统之 EventHub 和 Input Lib(事件解析库)

从 Android 事件输入系统整体框架 一文可知Input Libs是一个事件解析库,完成事件解析、keycode转换,设备配置信息加载。EventHub  枚举当前系统设备,根据不同的输入设备...
  • tww85
  • tww85
  • 2016-09-22 16:33:08
  • 967

android input子系统--InputReader EventHub::getevents之mNeedToReopenDevices变量详细分析

5.2.1 如果mNeedToReopenDevices=true 那么条件成立,先将mNeedToReopenDevices设置为false,然后            closeAllDevice...
  • qq_30025621
  • qq_30025621
  • 2018-04-14 22:04:43
  • 3

android input子系统--InputReader EventHub::getevents之mNeedToScanDevices变量详细分析

EventHub::getevents方法中,mNeedToScanDevices变量的调用过程详细分析        ...        if (mNeedToScanDevices) {    ...
  • qq_30025621
  • qq_30025621
  • 2018-04-14 23:30:12
  • 5

Android输入子系统之InputReader读取键盘消息过程分析

InputReader读取键盘消息过程分析在Android输入子系统之启动过程分析中,InputManagerService启动之后,会调用start函数,之后调用native层的nativeStar...
  • chenweiaiyanyan
  • chenweiaiyanyan
  • 2017-06-09 10:17:29
  • 461

Android 输入系统之EventHub篇

做Android系统定制两年多了,受到别人启发,将自己的学习工作经历整理成博客,供以后重温,好了废话不多说,这段时间研究了下Android的输入系统,深深的感叹Android系统的庞大。。。。。。 ...
  • u010122827
  • u010122827
  • 2015-11-09 15:12:08
  • 3424

Android Framework------之Input子系统

http://www.cnblogs.com/haiming/p/3318614.html 下面这是基于Android4.2代码的关于Input子系统的笔记。在这篇笔记中,只涉及Android相...
  • wangkaiblog
  • wangkaiblog
  • 2013-09-27 11:25:05
  • 11231

Android input子系统之InputReader获取输入事件详细分析--EventHub->getevents

此文章只分析EventHub获取输入事件的getevents函数的具体实现首先在EventHub的构造函数中,将以下变量进行初始化,以下初始化变量在getevents中会用到        mBuil...
  • qq_30025621
  • qq_30025621
  • 2018-04-14 23:47:41
  • 8

Android 输入系统之InputReader篇

Android input系列文章
  • u010122827
  • u010122827
  • 2015-11-11 17:45:28
  • 2537

Android 的 KeyEvent : 從 EventHub 到 PhoneWindowManager

最近追蹤了一下 Android 4.3 的 source,並且追蹤了 KeyEvent 一路從 EventHub.cpp 到 PhoneWondowManager.java 的流程 這邊順便記錄一下...
  • whut_fn
  • whut_fn
  • 2015-03-12 10:44:33
  • 421

Linux/Android——Input系统之InputReader (七)

在前文 Linux/Android——Input系统之frameworks层InputManagerService (六) 这里介绍了android层input服务的启动,其中启动了一个读取来自底...
  • jscese
  • jscese
  • 2015-01-16 18:13:19
  • 7251
收藏助手
不良信息举报
您举报文章:android input子系统--InputReader EventHub::getevents之mClosingDevices调用过程详细分析
举报原因:
原因补充:

(最多只允许输入30个字)