跟踪从驱动程序到APP的输入/事件流

时间:2010-12-02 23:18:40

标签: android input driver motion

我正在为一个自定义输入硬件创建一个驱动程序,它将尝试将数据作为输入传递给内核,然后内核将通过操作系统传递并通过MotionEvent公开到应用程序级别。看看其他一些设备驱动程序,看起来像通过Android 2.2内核(2.6.32)的input.h中公开的一些函数设置输入事件可能会有所帮助,但我很想证实这一点。在开始这条路径之前,我试图更好地理解现有输入(无论是屏幕,轨迹球等)是如何通过操作系统传递的。最终目标是确保我们可以将数据从设备传递到应用级别,然后再花费太多时间沿着这条路走下去。

linux kernal的输入标题2.6.32

http://lxr.free-electrons.com/source/include/linux/input.h?v=2.6.32

我浏览过Android类源代码,但不确定在哪里查看操作系统如何实现可以通过View类的onTouchEvent()方法访问的MotionEvent类。任何人都可以指出我在操作系统如何填充MotionEvent以及操作系统如何从内核获取数据方面的正确方向?

谢谢,

1 个答案:

答案 0 :(得分:0)

我将在frameworks / base / libs / ui / EventHub.cpp中首先查看它,它将通过/ dev / input来查找平台上的不同输入设备以及它们的“输入”类型

更多...

下一步是在frameworks / base / services / jni / com_android_server_KeyInputQueue.cpp和frameworks / base / services / java / com / android / server / KeyInputQueue.java中。

如果您所做的只是为新硬件实现输入接口,我认为您不需要做任何进一步的工作......