
El soporte para portátiles en Ubuntu es bastante decepcionante. Es como si Ubuntu y Kubuntu fueran dos mundos diferentes. ¿Existe una secuencia de comandos para desactivar el panel táctil mientras se ejecutan aplicaciones de pantalla completa? Intenté escribirlo yo mismo pero al final no tuve éxito. Mi conjetura es combinar xdotool
con xinput
.
Cualquier enfoque diferente, así como sugerencias de guiones similares, serán bienvenidos.
Y no, ¡no me interesa establecer atajos! La secuencia de comandos debería desactivar automáticamente el panel táctil cuando la aplicación de pantalla completa esté activa.
Respuesta1
Después de investigar un poco, logré escribir un guión funcional. Desactivará automáticamente el panel táctil mientras la aplicación de pantalla completa esté activay el mouse está conectado. Por lo que es adecuado para juegos en pantalla completa.
Lo que debe hacer es copiar el texto en Gedit y guardar el archivo como, por ejemplo: .auto_disable_touchpad.sh
(Como aparece .
delante del nombre, es un archivo oculto, pero puede nombrarlo como desee). Luego: haga clic derecho/propiedades/permisos/permitir ejecutar el archivo como programa. Para agregarlo al inicio, abra Startup applications
y agregue el siguiente comando your/script/folder/.auto_disable_touchpad.sh
.
#!/bin/bash
SC1=$(xdpyinfo | grep dimensions)
SC2="${SC1#*dimensions: }"
SC3="${SC2%% pixels*}"
while :
do
TP=$(xinput list --name-only | grep -i Touchpad)
TPS1=$(xinput --list-props "$TP" | grep -i "device enabled")
TPS2="${TPS1#*:}"
MO=$(xinput list --name-only | grep -i mouse)
if [ ! -z "$MO" ];then
WN1=$(xdotool getactivewindow getwindowgeometry)
WN2="${WN1#*Geometry: }"
WNN=$(xdotool getactivewindow getwindowname)
case ${WNN,,} in
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
*) WNN=0;;
esac
if [ $SC3 == $WN2 ] && [ $WNN == 0 ]; then
xinput -disable "$TP"
elif [ $TPS2 == 0 ]; then
xinput -enable "$TP"
fi
else sleep 2
fi
sleep 1
done
Si está viendo películas o videos de YouTube en pantalla completa, también desactivará el panel táctil mientras el mouse esté presente. Entonces, tal vez quierasagregar excepciones. Ya agregué algunos para: escritorio, Firefox (contenedor de complementos), VLC y SMPlayer.
Cuando desee que el panel táctil esté activo mientras se ejecuta la aplicación en pantalla completa, agregue el nombre de la aplicación a esta línea:
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
Por ejemplo, para agregar el reproductor de video predeterminado de Ubuntu Videos
a las excepciones agregadas |*videos*
antes
) WNN=1;;
, se verá así:
desktop|*vlc*|*smplayer*|*mozilla*firefox*|*videos*) WNN=1;;
Tenga en cuenta que el nombre de la aplicación distingue entre mayúsculas y minúsculas, por lo que debe utilizar únicamente minúsculas ( smplayer
pero no SMPlayer
).