16

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

我想以超级用户的身份将鼠标事件发送到我的Android 设备。但是,为此,必须通过 USB 或蓝牙连接将鼠标连接到设备。没有它,我在 adb 上执行此命令时会出现错误。在这种情况下,尝试使用命令创建节点。Could not open /dev/input/event8, No such devicesendevent /dev/input/event8 xxxx xxxx xxxxxxxxmknod /dev/input/event8 c 13 71

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

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

4

1 回答 1

13

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

这里有一个简单的入门指南,这个问题可以成为编写自己的虚拟驱动程序的好指南。

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

笔记 :

我同意使用触摸事件的建议;由于此解决方案更常见且有意义,请检查第二个建议是此答案

于 2015-03-17T06:34:41.083 回答