Probado y funciona en Ubuntu 14.04, 16.04 y 18.04.
Hacer como respuesta de @Almas Dusal , que le gusta la respuesta de @ negusp , salvo el uso del script modificado mi lugar ya que tiene 3 ventajas adicionales ( ACTUALIZACIÓN: Beneficios 1 y 3 a continuación se añadió 12 de septiembre 2019 ):
- Busca la salida de
xinput
ambos Touchpad
AND TouchPad
, ya que algunos sistemas tienen la P en mayúscula mientras que otros no. Esto hace que mi script sea compatible con más sistemas (con suerte TODOS los sistemas).
- Agrega las ventanas emergentes de cierre automático de 2 segundos
zenity
para mostrar si su panel táctil ahora está HABILITADO o DESHABILITADO. Ver capturas de pantalla de estas ventanas emergentes a continuación.
- Corrige adecuadamente la velocidad de la rueda de desplazamiento, lo
imwheel
que permite (lo que soluciona el problema de la rueda de desplazamiento lenta en Ubuntu / Linux cuando usa una rueda de desplazamiento del mouse) cuando usa un mouse, mientras que la desactiva imwheel
cuando usa un panel táctil, ya imwheel
que de lo contrario hace que el desplazamiento del panel táctil sea realmente irregular cuando está habilitado Asegúrese de descomentar las líneas respectivas para que esto funcione. Ej: # imwheel -b "4 5"
y # killall imwheel
.
#!/bin/bash
# GS_toggle_touchpad.sh
# - toggle the touchpad on and off
# Gabriel Staples
# Written: 2 Apr. 2018
# Updated: 12 Sept. 2019
# References:
# - /ubuntu//a/874865/327339
# - /ubuntu/844151/enable-disable-touchpad/1109515#1109515 <-- my own ans!
# Search for id number of "TouchPad" OR "Touchpad" in `xinput` list; manually type `xinput` to see all your devices
read TouchPadDeviceId <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TouchPadDeviceId" | grep "Device Enabled" | grep -o "[01]$" )
echo "TouchPadDeviceId = $TouchPadDeviceId"
echo "state = $state"
if [ "$state" -eq '1' ];then
xinput --disable "$TouchPadDeviceId"
zenity --info --text "Touchpad DISABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# imwheel -b "4 5"
else
xinput --enable "$TouchPadDeviceId"
zenity --info --text "Touchpad ENABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# killall imwheel
fi
Tenga en cuenta que lo de imwheel solo es necesario si sigue esta respuesta para corregir la velocidad de su rueda de desplazamiento también: Fije permanentemente la velocidad de desplazamiento de Chrome .
Ahora, asígnele una tecla de acceso directo de Ctrl+ Alt+ P(o lo que elija [la 'P' significa touch'P'ad en mi caso]). Mi adición al script anterior es la zenity
parte de la ventana emergente de cierre automático, que describo más en mi respuesta aquí ( /superuser//a/1310142/425838 ).
Ahora, cuando uso el acceso directo anterior, veo esta ventana emergente, que se cierra automáticamente después de 2 segundos:
Y si lo presiono nuevamente, aparece esta ventana emergente, que se cierra automáticamente después de 2 segundos:
¡Perfecto!
Como una ventaja adicional, si es un usuario pesado del mouse, simplemente agregue el comando que llama a su script anterior a sus programas de inicio en Ubuntu para que se ejecute y desactive su trackpad cada vez que su computadora se inicia. ¡Tengo este conjunto para que pueda dejar de golpear el trackpad con la base de mi mano y eliminar cosas accidentalmente todo el tiempo! Ahora, cuando mi mano golpea el track pad, no pasa nada porque está desactivado. :)
Nota: todo esto funciona muy bien en Ubuntu 18.04, así como en versiones anteriores. Lo he probado en Ubuntu 18.04 y Ubuntu 14.04. Aquí hay una captura de pantalla de la ventana de configuración de acceso directo en 18.04:
Relacionado:
- Fijar permanentemente la velocidad de desplazamiento de Chrome
grep
ysed
. Puede consolidar fácilmente los dossed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p'
.