studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android linux linux-kernel android-ndk

para - manual de programacion android pdf



¿Cuáles son los comandos necesarios para escribir eventos en/dev/input/eventX? (1)

Estoy desarrollando una aplicación para Android que necesita enviar eventos táctiles a / dev / input / eventX. Sé que la estructura del código C para hacer tal cosa es la siguiente:

struct input_event { struct timeval time; unsigned short type; unsigned short code; unsigned int value; };

Para usar dicho código, necesito configurar NDK . En cambio, quiero ejecutar comandos de linux equivalentes usando Runtime.getRunTime.exec () en Android sin la necesidad de usar NDK. ¿Hay alguna forma de hacer eso?

Si no, ¿cuál es el resto del código C necesario para enviar un evento? Por ejemplo, ¿cómo puedo enviar un evento táctil a x = 200 e y = 300 a event0? Busqué y no encontré una solución clara.

Gracias.


No tengo claro por qué necesita enviar evento a /dev/input/eventX directamente. Pero si puede enviar a través de adb , puede inyectar muchos tipos de eventos al dispositivo.

Prueba esto en tu computadora:

adb shell input tap 200 300

O esto en el shell de tu dispositivo Android:

input tap 200 300

Pero tiene una gran demora debido a la inyección externa.

Más información sobre input comando de input ver aquí.

Usage: input [<source>] <command> [<arg>...] The sources are: mouse keyboard joystick touchnavigation touchpad trackball stylus dpad touchscreen gamepad The commands and default sources are: text <string> (Default: touchscreen) keyevent [--longpress] <key code number or name> ... (Default: keyboard) tap <x> <y> (Default: touchscreen) swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen) press (Default: trackball) roll <dx> <dy> (Default: trackball)