Está en: » Artículos »

Desactivar el panel táctil (touch screen) mediante bash (y teclas rápidas)

Desactivar el panel táctil (touch screen) mediante bash (y teclas rápidas)

Panel táctil

Hace poco adquirí un portátil que incorpora una pantalla táctil.

El problema viene dado cuando tengo una fuente externa (monitor o TV) y cierro la pantalla ya que por algún motivo el digitalizador táctil empieza a hacer pulsaciones aleatoriamente.

Como es una situación muy coco común para mi, la mejor solución que encontré es desactivarlo con una combinación de teclas.

Lo primero, detectar el panel táctil:

miguel@portatil:~> xinput 
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ELAN1200:00 04F3:3022 Touchpad            id=15   [slave  pointer  (2)]
⎜   ↳ USB Optical Mouse                         id=11   [slave  pointer  (2)]
⎜   ↳ FTSC1000:00 2808:5120                     id=16   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
........

Buscamos el dispositivo dentro de ‘Virtual core pointer’ y probamos a desactivarlo según su id:

miguel@portatil:~>xinput disable 16

En mi caso el id 16 es el id del táctil (FTSC1000:00 2808:5120)
Si no es ese, podéis habilitarlo con

miguel@portatil:~>xinput enable 16

y probar con otro de la lista.

Ahora vamos con el script en Bash:

#!/bin/bash
 
id=$(xinput --list --id-only 'FTSC1000:00 2808:5120')
devEnabled=$(xinput --list-props $id | awk '/Device Enabled/{print !$NF}')
xinput --set-prop $id 'Device Enabled' $devEnabled
 
#notificamos
if [ "$devEnabled" -eq "0" ]; then
   message='DESACTIVADO';
else
   message='ACTIVADO';
fi
 
#Recomiendo este para plasma/kde
kdialog --title 'Panel táctil' --icon 'computer' --passivepopup "$message" 2
 
#Utilizar este para otros escritorios que no sean plasma/kde
#notify-send --icon computer "Panel táctil" "$message"

De este script, tendríamos que cambiar

  • el nombre del dispositivo en la línea id=
  • Si no usas Plasma/KDE, comentar la línea kdialog y descomentar la línea notify-send

Damos permisos de ejecución al archivo y ya lo tenemos funcional.

Para plasma, Ahora nos vamos a Preferencias del sistema -> Accesos rápidos -> Accesos rápidos personalizados
Pulsamos sobre el botón Editar -> Nuevos -> Acceso rápido global -> Orden/URL

Rellenamos

  • Comentario: Activar / desactivar panel táctil
  • Disparador: [Establecer la tecla que rápida que queramos usar]
  • Acción: [Ponemos la ruta al archivo

En mi caso, al tener el archivo en mi home -> apps -> scripts, establecí la ruta absoluta desde mi home con:

~/apps/scripts/des-activa_touchscreen.sh

Comentarios

Deje su comentario

Previsualización de comentario
  1. Anónimo dice: