InputManager.cpp
initialize()-->
InputReader.cpp
启动线程一直循环
threadLoop-->loopOnce
EventHub.cpp
-->mEventHub->getEvents()-->getEvents()-->scanDevicesLocked()
//打开设备节点与load touch/key等参数
-->scanDirLocked-->openDeviceLocked-->open() 调用驱动中的open打开设备
-->loadConfigurationLocked() //Load the configuration file for the device
-->PropertyMap::load() --> PropertyMap.cpp/load() //load *.idc文件
-->loadVirtualKeyMapLocked() //Configure virtual keys
-->loadKeyMapLocked() //Load the keymap for the device
-->Keyboard.cpp/load()-->probeKeyMap()-->loadKeyLayout()-->KeyLayoutMap.cpp/load()
//read event input
-->read()
如果getEvents()返回的值大于0则配置输入设备
processEventsLocked()-->addDeviceLocked()-->device->configure()-->TouchInputMapper::configure()
-->configureParameters() //Configure basic parameters
-->configureRawPointerAxes()//Configure absolute axis information
-->parseCalibration()//Prepare input device calibration
-->resolveCalibration()
-->configureSurface()
对输入设备进行校准
-->processEventsForDeviceLocked()
-->InputDevice::process()
-->TouchInputMapper::process()
-->TouchInputMapper::sync()
-->cookPointerData()