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