Android 跟踪从驱动程序到应用程序的输入/事件流
我正在为一个自定义输入硬件创建一个驱动程序,它将尝试将数据作为输入传递给内核,然后内核将通过操作系统向上传递数据,并通过MotionEvent向应用程序级公开。看看其他一些设备驱动程序,它看起来像是通过Android 2.2内核(2.6.32)的input.h中公开的一些函数来设置输入事件,这可能会奏效,但我想确认一下。在开始这条路之前,我试图更好地理解现有的输入,无论是来自屏幕、轨迹球等,是如何通过操作系统传递的。最终目标是确保在投入太多时间之前,我们可以将数据从设备级传递到应用级 linux内核2.6.32的输入头 我浏览了Android类的源代码,但不确定从何处查看操作系统如何安装MotionEvent类,该类可以通过View类的onTouchEvent()方法访问。有人能给我指出操作系统如何填充MotionEvent以及操作系统如何从内核获取数据的正确方向吗 谢谢Android 跟踪从驱动程序到应用程序的输入/事件流,android,input,driver,motion,Android,Input,Driver,Motion,我正在为一个自定义输入硬件创建一个驱动程序,它将尝试将数据作为输入传递给内核,然后内核将通过操作系统向上传递数据,并通过MotionEvent向应用程序级公开。看看其他一些设备驱动程序,它看起来像是通过Android 2.2内核(2.6.32)的input.h中公开的一些函数来设置输入事件,这可能会奏效,但我想确认一下。在开始这条路之前,我试图更好地理解现有的输入,无论是来自屏幕、轨迹球等,是如何通过操作系统传递的。最终目标是确保在投入太多时间之前,我们可以将数据从设备级传递到应用级 linux
Paul首先,我将在frameworks/base/libs/ui/EventHub.cpp中查看,它将通过/dev/input查找平台上的不同输入设备以及这些设备的“类型” 更多 下一步是frameworks/base/services/jni/com\u android\u server\u KeyInputQueue.cpp和frameworks/base/services/java/com/android/server/KeyInputQueue.java
如果您所做的只是为一个新的硬件实现输入接口,那么我认为您不需要做更多的事情……是的,谢谢,这是一个很好的开始!现在我正在尝试建立EventHub.cpp与Java MotionEvent之间的连接。。。在花了数小时钻研代码之后,我看到一个名为RawInputEvent的类,它声明了一组似乎与EventHub.cpp共享的静态值,但我无法确定MotionEvent(相对于View类)如何传递到View.onTouchEvent()中