¿Hay alguna forma de simular un toque (en cualquier lugar) en la pantalla sin root?
Si no, ¿hay alguna otra forma en que pueda realizar una acción de 'selección' de cartón sin soporte magnético o abriendo mi cartón cada vez?
Estoy tratando de hacer que las aplicaciones de cartón funcionen con un teléfono 5.1 que no admite el "botón" magnético.
La mayoría de las aplicaciones parecen usar el botón para seleccionar o avanzar, por lo que si no funciona, es difícil de usar. Descubrí que un toque en cualquier parte de la pantalla también funciona como una selección, por lo que lo que estoy haciendo en este momento es abrir la parte posterior, tocar la pantalla y luego volver a cerrarla, pero obviamente eso rápidamente se vuelve tedioso.
Lo que he probado:
Usando mi gamepad ipega 9017 (en los modos Gamepad, Keyboard e iCade), ningún modo asigna ninguna tecla a nada que realice una acción de selección en cartón (aunque algunos modos asignan el botón B hacia atrás, que funciona para salir de una aplicación de cartón al menos).
Probé Tincore Keymapper , pero eso requiere root para simular el toque, y no puedo rootear mi dispositivo.
Mirando aquí, ¿mapeo de teclas personalizado para juegos? , ¿Puedo usar un gamepad USB sin ninguna configuración? y Ratón para tocar? parecía más prometedor, pero ninguno de ellos responde a esta pregunta.
Potencialmente, puede simular un toque con el comando input tap x y
(por ejemplo, desde un emulador de terminal, o posiblemente con Tasker (no recuerdo si puede hacer comandos de shell, pero supongo que sí)), o sobre ADB con adb shell input tap x y
. Consulte https://stackoverflow.com/a/20830258/2141741 (y si desea conectar el dispositivo a sí mismo a través de ADB, https://code.google.com/p/android/issues/detail?id=48126 y los comentarios asociados son informativos).
Esta solución no requiere root (al menos no hacerlo desde una computadora conectada a través de ADB).
$ while true; do read; adb shell input tap 0 0; echo pressed; done
. Aunque tiene mucho lag.Intenté lo que propuso @ user43185 , pero no funcionó. Pero, como alternativa, veo que es posible usar lo siguiente.
input [text|keyevent]
input text <string>
input keyevent <event_code>
input motionevent <x> <y> <down|move|up>
input motionevent-batch <pointer-log>
Por ejemplo, si quiero un evento de toque, entonces hago:
adb shell input motionevent x y down
adb shell input motionevent x y up
Donde x e y son las coordenadas en el dispositivo.
ACTUALIZAR.
La razón por la que la otra respuesta no funcionará, según esta respuesta , es por la versión de Android en el dispositivo.
tap
y en ADB versión 1.0.36.
swipe
press
roll
Árbol Gigante
Señor del Fuego
Antoniossss
shengwu zhang