![]() |
1
1
有很多方法可以做到这一点,从编写实际的设备驱动程序,到编写X客户机以生成X事件(例如使用xtest扩展),再到使用内核接口来注入输入子系统事件。
我会用最后一个
还请注意,这方面的一些机制已经存在。在Linux上运行良好的蓝牙人机界面设备就是一个例子。 rinputd 一个守护进程,用于侦听rinput客户机并根据其发送的数据生成uinput事件。是另一个。你可能会考虑把你的Android应用AKT作为一个RINPUT客户端。 |
![]() |
2
0
您可以编写一个Linux设备驱动程序,将数据解释为一个真正的鼠标,或者说服X服务器(或其他任何设备)接受来自其他设备(如命名管道)的输入。 实际的设备文件不是包含任何内容的文件-它们只是对一个主要和次要数字的引用,用于与内核中的驱动程序对话,该驱动程序可以在某些设备上执行类似文件的模糊选项。您使用mknod创建设备文件,但只有在具有匹配数字的内核驱动程序支持后,它们才能工作。相信现在有了一些存根机制,所以实际驱动程序的大部分可以在用户空间中运行。 |