Habilite la emulación del botón central del mouse al iniciar sesión en Gnome (Ubuntu)

Habilite la emulación del botón central del mouse al iniciar sesión en Gnome (Ubuntu)

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.shque 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} ]]; thencondición e intenté agregar una sleepal 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

  1. También lo intenté Exec=/bin/bash /home/david/.scripts/mouse.sh. Gracias @PRATAP
  2. Ubuntu 19.04, aunque tampoco ha funcionado en las últimas versiones, incluida la 18.04
  3. Intenté eliminar el archivo .desktop y usar la GUI de aplicaciones de inicio.
  4. Intenté eliminar la if [[ -n ${DISPLAY} ]]; thencondición.
  5. 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.shen Preferencias de aplicaciones de inicio.

ingrese la descripción de la imagen aquí

información relacionada