![Habilite la emulación del botón central del mouse al iniciar sesión en Gnome (Ubuntu)](https://rvso.com/image/912797/Habilite%20la%20emulaci%C3%B3n%20del%20bot%C3%B3n%20central%20del%20mouse%20al%20iniciar%20sesi%C3%B3n%20en%20Gnome%20(Ubuntu).png)
Me gusta usar la emulación del botón central del mouse, porque el botón central del mouse es una rueda de desplazamiento y se necesita mucha presión para registrar un clic. Esto se vuelve físicamente doloroso con bastante rapidez.
Me resulta mucho más fácil hacer clic con los botones izquierdo y derecho del mouse simultáneamente. Y uso esta función todo el tiempo.
Tengo un script ~/scripts/mouse.sh
que hace esto:
#!/bin/bash
# Enable middle button emulation
# from https://askubuntu.com/a/201825/54278
if [[ -n ${DISPLAY} ]]; then
pointer1="MX Master"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
xinput set-prop "${id1}" "libinput Middle Emulation Enabled" 1
fi
Esto funciona bien, pero tengo que ejecutarlo manualmente cada vez que reinicio.
He creado ~/.config/autostart/mouse.sh.desktop
. Estos son los contenidos:
[Desktop Entry]
Type=Application
Exec=/home/david/.scripts/mouse.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_AU]=Mouse
Name=Mouse
Comment[en_AU]=Middle button emulation
Comment=Middle button emulation
Mi problema es quemi script no hace nada al iniciar sesión.
Todavía tengo que abrir una terminal y ejecutar mi script antes de que funcione la emulación del botón central del mouse.
Intenté eliminar la if [[ -n ${DISPLAY} ]]; then
condición e intenté agregar una sleep
al comienzo del script.
También intenté agregar el contenido de mi script a ~/.profile
.
Ninguna de estas cosas ha funcionado. ¡Esto me ha estado molestando durante años!
Gracias por echar un vistazo :-)
Ediciones
- También lo intenté
Exec=/bin/bash /home/david/.scripts/mouse.sh
. Gracias @PRATAP - Ubuntu 19.04, aunque tampoco ha funcionado en las últimas versiones, incluida la 18.04
- Intenté eliminar el archivo .desktop y usar la GUI de aplicaciones de inicio.
- Intenté eliminar la
if [[ -n ${DISPLAY} ]]; then
condición. - Tuve un destello de inspiración y probé a usarlo
Exec=/usr/bin/xterm -e /home/david/.scripts/mouse.sh
, pero tampoco tuve suerte.
Respuesta1
Lo que funcionó para mí es el siguiente script.
/home/user/mouse.sh
#!/bin/bash
pointer1="Logitech USB Receiver Mouse"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print \$2}" | cut -f1)
xinput set-prop "${id1}" "libinput Middle Emulation Enabled" 1
parte de la producción dexinput
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Consumer Control id=16 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver Mouse id=18 [slave pointer (2)]
y agregó el comando /bin/bash /home/user/mouse.sh
en Preferencias de aplicaciones de inicio.