Toque multipunto¶
Además de la automatización convencional, ofrecemos una interfaz multitáctil avanzada que le permite implementar operaciones complejas con los dedos. Incluye funciones como la grabación de trayectorias de hardware, reproducción, construcción y guardado.
Atención
Para que pueda comprender su uso lo más rápido posible, le recomendamos que active las funciones 'Mostrar toques' y 'Ubicación del puntero' en Opciones de desarrollador -> Entrada (si no las activa, es posible que no vea ninguna respuesta). El siguiente código de ejemplo le muestra cómo dibujar un símbolo X en la esquina superior izquierda de la pantalla.
touch = d.touch()
finger0 = touch.contact(0)
finger1 = touch.contact(1)
# --- 1. Pulsar en el punto de inicio ---
finger0.down(150, 320)
finger1.down(450, 320)
touch.wait(20)
# --- 2. Mover la trayectoria (10 puntos de coordenadas) ---
finger0.move(180, 350)
finger1.move(420, 350)
touch.wait(20)
finger0.move(210, 380)
finger1.move(390, 380)
touch.wait(20)
finger0.move(240, 410)
finger1.move(360, 410)
touch.wait(20)
finger0.move(270, 440)
finger1.move(330, 440)
touch.wait(20)
finger0.move(300, 470) # Punto central de cruce
finger1.move(300, 470)
touch.wait(20)
finger0.move(330, 500)
finger1.move(270, 500)
touch.wait(20)
finger0.move(360, 530)
finger1.move(240, 530)
touch.wait(20)
finger0.move(390, 560)
finger1.move(210, 560)
touch.wait(20)
finger0.move(420, 590)
finger1.move(180, 590)
touch.wait(20)
finger0.move(450, 620) # Punto final
finger1.move(150, 620)
touch.wait(20)
# --- 3. Levantar los dedos ---
finger0.up()
finger1.up()
# Ejecutar la operación
touch.perform()
Grabar trayectoria¶
Para facilitarle la construcción de trayectorias, también ofrecemos una función de grabación. La función de grabación requiere que usted opere el dispositivo físico.
# Obtener una sesión multitáctil
touch = d.touch()
# Grabar trayectoria. Después de llamar a esta función, esperará a que opere la pantalla del dispositivo físico dentro del tiempo de espera (120 segundos) y retornará cuando levante el dedo.
touch.record()
# Puede guardar la trayectoria como un archivo binario
touch.save("/sdcard/touch/bin")
# También puede reproducir la trayectoria directamente
touch.perform()
Guardar trayectoria¶
Para evitar tener que reconstruir la trayectoria mediante código cada vez, ofrecemos una función para guardarla. Puede persistir los datos de la trayectoria en el disco.
# Obtener una sesión multitáctil
touch = d.touch()
# Puede guardar la trayectoria que acaba de construir para cargarla más tarde
touch.save("/sdcard/track0.bin")
Cargar trayectoria¶
Puede cargar directamente una trayectoria en la sesión desde un archivo de trayectoria almacenado en el disco.
# Obtener una sesión multitáctil
touch = d.touch()
# Cargar la trayectoria desde un archivo
touch.load("/sdcard/track0.bin")
Construir trayectoria¶
Además de construir trayectorias mediante grabación, también puede optar por construir trayectorias táctiles usted mismo a través del código. A continuación, le presentaremos la construcción manual y otras funciones disponibles. Una operación táctil válida incluye tres tipos de eventos: pulsar, mover y levantar. Puede establecer parámetros de presión para eventos como pulsar y mover.
# Obtener una sesión multitáctil
touch = d.touch()
# Obtener la entrada de dos (o más) dedos
finger0 = touch.contact(0)
finger1 = touch.contact(1)
# El dedo 0 pulsa en las coordenadas 150 320
# El parámetro z representa la presión del dedo, los valores disponibles son de 1 a 255, el valor predeterminado es 128
finger0.down(150, 320, z=128)
# El dedo 0 se mueve de 150 320 a 180 350
finger0.move(180, 350, z=128)
# Esperar 20 milisegundos (equivalente a finger0.wait(20))
touch.wait(20)
# El dedo 0 se levanta
finger0.up()
# Limpiar todas las trayectorias
touch.reset()
# Ejecutar la operación (wait indica si se debe esperar a que finalice)
touch.perform(wait=True)