Desactivar el panel táctil (touch screen) mediante bash (y teclas rápidas)
Enviado por miguelcarmona :: 15 de junio de 2017
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@netbook:~> 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@netbook:~>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@netbook:~>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 -> bin -> scripts, establecí la ruta absoluta desde mi home con:
~/bin/scripts/des-activa_touchscreen.sh