Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i create new virtual mouse device on my android device?

I know, I can listen input devices from /dev/input/eventx on Android/Linux. If you are superuser, you can also send events to the device through that.

I would like to send mouse events to my Android device as superuser. However, in order to do this, a mouse must be connected to the device via USB or bluetooth connection. Without it, I get error as Could not open /dev/input/event8, No such device when execute this command on adb sendevent /dev/input/event8 xxxx xxxx xxxxxxxx. In this case, the node was attempted to be created using the mknod /dev/input/event8 c 13 71 command.

The problem is solved when I connect a bluetooth or USB mouse to the device. The device is created automatically under /sys/devices/platform/tegra_uart.2/tty/ttyHS2/hci0 named hci0:11 also create input event /dev/input/event7 (major 13 minor 71). After that I can send events to that node and control Android mouse cursor. But I want to do this without connecting a mouse to the device.

Could anyone suggest how can I create a mouse input device (like when a mouse is connected) on my android device virtually?

like image 618
Erdem UYSAL Avatar asked Aug 15 '13 12:08

Erdem UYSAL


1 Answers

From what i see you should create your own virtual device with your own driver , Fortunately there is an easy way to do so using uinput

There is an easy guide for getting started here , and this question can be a good guide to write your own virtual driver.

I thought this can only be done if you have access to kernel , and create your own ( i dont think modifying user rom is a good solution ) , but after reading this , it is clear that Uinput can run in user mode.

Note :

I agree with recommendition to use touch events ; as this solution is more common and makes sense , check second suggestion is this answer

like image 126
ProllyGeek Avatar answered Oct 10 '22 16:10

ProllyGeek