Как я могу создать новое виртуальное устройство мыши на моем устройстве Android?
Я знаю, я могу слушать устройства ввода через /dev/input/eventx
в Android/Linux. Если вы суперпользователь, вы можете отправить событие на устройство.
Я хотел бы отправить события мыши на свое Android-устройство в качестве суперпользователя, например teamviewer в Windows или Linux, и мне нужно сделать это с помощью мыши. Без него я получаю ошибку как Could not open /dev/input/event8, No such device
при отправке этого события sendevent /dev/input/event8 xxxx xxxx xxxxxxxx
в /dev/input/event8
, node, созданного с помощью mknod /dev/input/event8 c 13 71
Эту проблему можно решить, подключив Bluetooth-мышь к моему устройству. Устройство создается автоматически в /sys/devices/platform/tegra_uart.2/tty/ttyHS2/hci0
с именем hci0: 11 также создает событие ввода /dev/input/event7 (major 13 minor 71)
. Теперь я могу отправлять события на этот node и управлять курсором мыши Android. Но я не хочу подключаться к мыши.
Может ли кто-нибудь предложить, как я могу создать виртуальное устройство мыши на своем устройстве Android?
Ответы
Ответ 1
Из того, что я вижу, вы должны создать свое собственное виртуальное устройство со своим собственным драйвером. К счастью, есть простой способ сделать это, используя uinput
Существует легкое руководство для начала работы здесь, и этот question может стать хорошим руководством для написания собственного виртуального драйвера.
Я думал, что это можно сделать только в том случае, если у вас есть доступ к ядру, и создайте свой собственный (я не думаю, что изменение пароля пользователя является хорошим решением), но после чтения this, понятно, что Uinput может работать в пользовательском режиме.
Примечание:
Я согласен с рекомендацией использовать события касания; так как это решение более распространено и имеет смысл, проверьте второе предложение: answer