【发布时间】:2010-12-02 23:18:39
【问题描述】:
我正在为一个自定义输入硬件创建一个驱动程序,该驱动程序将尝试将数据作为输入传递给内核,然后内核将通过操作系统向上传递并通过 MotionEvent 暴露给应用程序级别。查看其他一些设备驱动程序,看起来通过 Android 2.2 内核(2.6.32)的 input.h 中公开的一些函数设置输入事件可能会奏效,但我很想确认这一点。在开始这条道路之前,我试图更好地了解现有输入(无论是来自屏幕、轨迹球等)是如何通过操作系统传递的。最终目标是确保我们可以将数据从设备传递到应用程序级别,然后再花费太多时间走这条路。
linux kernel 2.6.32的输入头
http://lxr.free-electrons.com/source/include/linux/input.h?v=2.6.32
我浏览了 Android 类的源代码,但不确定在哪里可以看到操作系统如何实例化 MotionEvent 类,该类可以通过 View 类的 onTouchEvent() 方法访问。谁能指出我在操作系统如何填充 MotionEvent 以及操作系统如何从内核获取数据方面的正确方向?
谢谢,
保罗
【问题讨论】:
标签: android input driver motion