如何在android设备上创建新的虚拟鼠标设备?

如何在android设备上创建新的虚拟鼠标设备?,android,linux,input,linux-kernel,mouse,Android,Linux,Input,Linux Kernel,Mouse,我知道,我可以在Android/Linux上收听/dev/input/eventx中的输入设备。如果您是超级用户,您还可以通过它向设备发送事件 我想以超级用户的身份将鼠标事件发送到我的Android设备。但是,要做到这一点,必须通过USB或蓝牙连接将鼠标连接到设备。如果没有它,我会得到错误,因为在adb上执行此命令时,无法打开/dev/input/event8,没有这样的设备。在本例中,尝试使用mknod/dev/input/event8 c 13 71命令创建节点 当我将蓝牙或USB鼠标连接到

我知道,我可以在Android/Linux上收听
/dev/input/eventx
中的输入设备。如果您是超级用户,您还可以通过它向设备发送事件

我想以超级用户的身份将鼠标事件发送到我的Android设备。但是,要做到这一点,必须通过USB或蓝牙连接将鼠标连接到设备。如果没有它,我会得到错误,因为在adb上执行此命令时,
无法打开/dev/input/event8,没有这样的设备
。在本例中,尝试使用
mknod/dev/input/event8 c 13 71
命令创建节点

当我将蓝牙或USB鼠标连接到设备时,问题就解决了。设备在名为hci0:11的
/sys/devices/platform/tegra_uart.2/tty/ttyHS2/hci0下自动创建,同时创建输入事件
/dev/input/event7(大调13小调71)
。之后,我可以将事件发送到该节点并控制Android鼠标光标。但我想在不将鼠标连接到设备的情况下完成此操作


有谁能建议我如何在我的android设备上虚拟创建鼠标输入设备(如连接鼠标时)?

据我所知,您应该使用自己的驱动程序创建自己的虚拟设备,幸运的是,使用有一种简单的方法可以做到这一点

有一个简单的入门指南,这个可以很好地指导您编写自己的虚拟驱动程序

我认为这只有在您有权访问内核并创建自己的内核时才能实现(我不认为修改用户rom是一个好的解决方案),但在阅读了之后,很明显Uinput可以在用户模式下运行

注意:


我同意使用触摸事件的建议;由于此解决方案更为常见且有意义,请检查第二个建议是否为“是”,例如触摸屏,但没有真正的硬件设备。我的意思是,虚拟鼠标设备。@erdemysal请参阅drivers/input/mouse/@PeterL下的代码。谢谢你的建议。但我的问题仍然没有解决。因为Linux中有gpm命令,但Android中没有:Sdo找到解决方案了吗?我需要那玩意儿你是不是想注射触控事件?你读过这个:很好的答案。我想补充一点,一旦程序终止,设备就会消失。我已经能够创建一个输入设备,并将输入事件发送到/dev/input/event*文件。@LeonvanNoord谢谢,很高兴我能提供帮助,但您能更清楚地了解设备消失这件事吗?只是为了帮助将来寻找这个答案的人。如果第1部分中描述的程序运行完毕,设备就会消失。它不再出现在/proc/bus/input/devices中,相应的/dev/input/event*也消失了。