Habilite a emulação do botão do meio do mouse no login do Gnome (Ubuntu)

Habilite a emulação do botão do meio do mouse no login do Gnome (Ubuntu)

Gosto de usar a emulação do botão do meio do mouse, porque o botão do meio do mouse é uma roda de rolagem e é preciso muita pressão para registrar um clique. Isso fica fisicamente doloroso muito rapidamente.

Acho muito mais fácil clicar nos botões esquerdo e direito do mouse simultaneamente. E eu uso esse recurso o tempo todo.

Eu tenho um script ~/scripts/mouse.shque faz isso:

#!/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

Isso funciona bem, mas tenho que executá-lo manualmente sempre que reinicio.

Eu criei ~/.config/autostart/mouse.sh.desktop. Estes são os conteúdos:

[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

Meu problema é quemeu script não faz nada no login.

Ainda preciso abrir um terminal e executar meu script antes que a emulação do botão do meio do mouse funcione.

Tentei remover a if [[ -n ${DISPLAY} ]]; thencondição e tentei adicionar um sleepno início do script.

Também tentei adicionar o conteúdo do meu script ao arquivo ~/.profile.

Nenhuma dessas coisas funcionou. Isso tem me incomodado há anos!

Obrigado por dar uma olhada :-)


Editar% s

  1. Também tentei Exec=/bin/bash /home/david/.scripts/mouse.sh. Obrigado @PRATAP
  2. Ubuntu 19.04, embora também não tenha funcionado nas últimas versões, incluindo 18.04
  3. Tentei excluir o arquivo .desktop e usar a GUI dos aplicativos de inicialização
  4. Tentei remover a if [[ -n ${DISPLAY} ]]; thencondição
  5. Tive um lampejo de inspiração e tentei usar Exec=/usr/bin/xterm -e /home/david/.scripts/mouse.sh- também sem sorte

Responder1

O que funcionou para mim é o script abaixo

/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

alguns dos resultados 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)]

e adicionei o comando /bin/bash /home/user/mouse.shem Preferências de aplicativos de inicialização.

insira a descrição da imagem aqui

informação relacionada