Deshabilitar la entrada de pantalla táctil a través de la consola

Estoy buscando una manera de deshabilitar y habilitar la pantalla táctil del teléfono a través de la consola, y posiblemente los botones físicos, para evitar que se procesen los toques de los dedos. El teléfono es un Samsung Galaxy Frame, Android 4.1.x.

Fondo:

Estoy configurando un viejo Galaxy Fame para que sirva como navegador satelital fijo en el tablero de mi auto, con el objetivo de usar el OpenStreetMap actualizado y gratuito.

Cuando giro la llave, el usb del teléfono se alimenta a 5V, cuando apago el automóvil, el usb no tiene energía. El teléfono es capaz de detectar estos eventos y programé algunas acciones sobre ellos, con el objetivo de proporcionar un servicio de navegador de encendido y apagado instantáneo.

El teléfono permanece siempre encendido, solo cambia a un estado de ahorro de energía cuando el automóvil está apagado. La aplicación del navegador, OsmAnd, se inicia automáticamente en el arranque, pero el arranque no se produce entre un ciclo de encendido y apagado del automóvil, porque el teléfono permanece encendido para detectar los cambios USB mencionados.

Actualmente, lo que sucede cuando enciendo el automóvil y el usb se enciende:

  • La pantalla está encendida (echo 200 >/sys/class/backlight/panel/brightness)
  • El receptor satelital está activado
  • Frecuencia de CPU configurada al máximo

Qué sucede cuando apago el auto y el usb pierde energía:

  • Luz de fondo de la pantalla apagada
  • El receptor de satélite se apaga, junto con wify y bluetooth, en caso de que hayan estado activos
  • Frecuencia de la CPU establecida al mínimo

Hasta este punto todo está funcionando. Mi problema ahora es que, cuando el automóvil se apaga y el teléfono entra en este modo casi en espera, la pantalla táctil sigue aceptando entradas y, si el teléfono se manipula o se toca por cualquier motivo, reaccionará sigilosamente a esos toques mientras la pantalla está apagado

¿Cuál es la identificación del modelo de este dispositivo? es decir, sm-blahblah, ¿también puedes publicar tu init.rc en un pastebin? ¿Tiene este dispositivo rooteado?, grep su ramdisk *.rc's, las entradas de perms/chown deben aparecer, toque el panel de la pantalla
ejecute cat /sys/class/sec/sec_touchscreen/set_module_off si regresa 0, luego repítalo a 1 y vea qué sucede. Además, ¿cómo envuelvo el código en los comentarios?
Este es un "Samsung Galaxy Fame gt-s6810p"; /init.rcestá aquí: pastebin.mozilla.org/8842877 ; el dispositivo está rooteado y puedo ejecutar su; greplos resultados parecen interesantes, pero aún no he experimentado con estos archivos de control: pastebin.mozilla.org/8842878 . Mis retoques /sys/class/sec/sec_touchscreen/set_module_offestán aquí: pastebin.mozilla.org/8842879
bien, ese es un error clásico, es bueno que cualquier cosa que hagas en este momento sea temporal, gato PRIMERO para averiguar si es un tipo de configuración 0 o 1.

Respuestas (3)

David,

cat su init.rc y bajo # Permisos para InputDevices.

chown system radio /sys/class/sec/tsp/cmd
chmod 0660 /sys/class/sec/tsp/input/enabled  <--your device may differ
chown system system /sys/class/sec/tsp/input/enabled <--your device may differ

Agregue a su configuración de secuencias de comandos después de verificar, para mi dispositivo, un samsung galaxy tab 4

echo 0 > /sys/class/sec/tsp/input/enabled

Pantalla táctil asesinado.

echo 1 > /sys/class/sec/tsp/input/enabled

Pantalla táctil reactivada.

metro

Genial para escuchar! Sin embargo, mi teléfono no tiene ese archivo de control. Las cosas más cercanas a las que puedo acercarme haciendo grep-ping debajo /sysde las cadenas enabley tspson: /sys/devices/virtual/sec/tsp/power/autosuspend_delay_ms- que sobrescribí por ignorancia 1000, sin éxito, y /sys/module/hid_prodikeys/parameters/enable, que sobrescribí para N,N,N,N,N,N,N,Nintentar deshabilitar las teclas táctiles, sin éxito. Los permisos de escritura se establecieron antes de cada escritura y no se generaron errores. Probablemente me engañó el nombre de esos archivos de control.
También intenté jugar con /sys/class/sec/sec_touchscreen/set_module_offy /sys/module/hid_magicmouse/parameters/report_touches.
¿Lo resolviste? Hay una manera de hacerlo ?

THX a todos menos a las soluciones mencionadas que no me funcionaron.

Pero encontré una solución aquí: https://android.stackexchange.com/a/193667

rm -rf /dev/input/event0

¿"Elimina" mi entrada de pantalla táctil? Los otros eventos deshabilitan/eliminan mis otros botones de hardware como volumen, etc. Después de reiniciar el teléfono, están de regreso. Necesita root / su para esto.

En Google Nexus 4 ( mako, lineageos 14.1) y Xiaomi Mi5 ( gemini) puedes dar

rm /dev/input/event2

para deshabilitar la pantalla táctil en tiempo de ejecución. Aún podrá controlar el dispositivo a través de scrcpy.

En Google Nexus 5 ( hammerhead, lineageos 14.1) puedes dar

rm /dev/input/event1