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?
-
Yes, such as touchscreen but without real hardware device. I mean, virtual mouse device.Erdem UYSAL– Erdem UYSAL2013年08月15日 12:52:39 +00:00Commented Aug 15, 2013 at 12:52
-
@ErdemUYSAL See lxr.free-electrons.com/source/Documentation/input/input.txt and also the code under drivers/input/mouse/.Peter L.– Peter L.2013年08月15日 23:49:31 +00:00Commented Aug 15, 2013 at 23:49
-
@PeterL. Thank you for your advice. But my problem is still not resolved. Because there is gpm command in Linux, but there isn't in Android :SErdem UYSAL– Erdem UYSAL2013年08月16日 08:08:11 +00:00Commented Aug 16, 2013 at 8:08
-
do you find the solution ? I need that tooamir beygi– amir beygi2014年01月05日 18:57:49 +00:00Commented Jan 5, 2014 at 18:57
-
3So are you trying to inject touch events? Have you read this: pocketmagic.net/injecting-events-programatically-on-androidVERT9x– VERT9x2015年03月12日 19:37:58 +00:00Commented Mar 12, 2015 at 19:37
1 Answer 1
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
3 Comments
Explore related questions
See similar questions with these tags.