Android键盘系统浅析(上)

Android键盘系统浅析(下)

通过往着几个文件中插桩,从模拟器的启动日志,我们可以更直观的开到整个Android键盘系统的建立:
…………………..
I/SystemServer(   57): Window Manager
I/WindowManager(   57): New the thread : mQueue = new Key
I/KeyInputQueue(   57): Enter into the constraction of the Base Class KeyInputQueue
I/KeyInputQueue(   57): Start the mThread???????????????????
I/WindowManager(   57): After mQueue = new Key
I/WindowManager(   57): New the thread of  mInputThread
I/WindowManager(   57): After  mInputThread
I/WindowManager(   57): New the thread of  mInputThread
I/WindowManager(   57): Begin the thread of  PolicyThread thr
I/KeyInputQueue(   57): Start the methods run of the mThread
I/KeyInputQueue(   57): Before the readEvent(ev),this is a native method
I/Input   (   57): C::::::::::::4::::::::::::::Entering into the JNI method-readEvent
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Entering into the  EventHub::getEvent
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Entering into the EventHub:Android键盘系统浅析(上) penPlatformInput
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Before scan_dir(device_path)
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Entering into the  scan_dir(device_path)
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Entering into the open_device(device_path)
I/EventHub(   57): Opening device: /dev/input/event0
I/EventHub(   57): Opened device: /dev/input/event0 (0 failures)
I/EventHub(   57): add device 1: /dev/input/event0
I/EventHub(   57):   bus:      0000
I/EventHub(   57):   vendor    0000
I/EventHub(   57):   product   0000
I/EventHub(   57):   version   0000
I/EventHub(   57):   name:     "qwerty2"
I/EventHub(   57):   location: ""
I/EventHub(   57):   id:       ""
I/EventHub(   57):   version:  1.0.0
I/EventHub(   57): New keyboard: publicID=65536 device->id=0x10000 devname='qwerty2' propName='hw.keyboards.65536.devname' keylayout='/system/usr/keylayout/qwerty.kl'
I/EventHub(   57): New device: path=/dev/input/event0 name=qwerty2 id=0x10000 (of 0x1) index=1 fd=49 classes=0x2f
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Entering into the open_device(device_path)
I/EventHub(   57): Opening device: /dev/input/mouse0
I/EventHub(   57): Opened device: /dev/input/mouse0 (0 failures)
E/EventHub(   57): could not get driver version for /dev/input/mouse0, Not a typewriter
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Entering into the open_device(device_path)
I/EventHub(   57): Opening device: /dev/input/mice
I/EventHub(   57): Opened device: /dev/input/mice (0 failures)
E/EventHub(   57): could not get driver version for /dev/input/mice, Not a typewriter
I/EventHub(   57): C::::::::EventHub.cpp:::::::::Enter into the while(1) ot the EventHub::getEvent
I/KeyInputQueue(   57): After the readEvent(ev)
I/KeyInputQueue(   57): Input event: dev=0x0 type=0x10000000 scancode=0 keycode=0 value=0
I/KeyInputQueue(   57): Device added: id=0x0, name=qwerty2, classes=2f
I/KeyInputQueue(   57):   X: unknown values
I/KeyInputQueue(   57):   Y: unknown values
I/KeyInputQueue(   57):   Pressure: unknown values
I/KeyInputQueue(   57):   Size: unknown values
I/KeyInputQueue(   57): No virtual keys found
I/KeyInputQueue(   57): Before the readEvent(ev),this is a native method
I/Input   (   57): C::::::::::::4::::::::::::::Entering into the JNI method-readEvent
I/EventHub(   57): C::::::::EventHub.cpp::::::::::Enter into the  EventHub::getEvent
I/EventHub(   57): C::::::::EventHub.cpp:::::::::Enter into the while(1) of the EventHub::getEvent