![Habilite a emulação do botão do meio do mouse no login do Gnome (Ubuntu)](https://rvso.com/image/912797/Habilite%20a%20emula%C3%A7%C3%A3o%20do%20bot%C3%A3o%20do%20meio%20do%20mouse%20no%20login%20do%20Gnome%20(Ubuntu).png)
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.sh
que 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} ]]; then
condição e tentei adicionar um sleep
no 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
- Também tentei
Exec=/bin/bash /home/david/.scripts/mouse.sh
. Obrigado @PRATAP - Ubuntu 19.04, embora também não tenha funcionado nas últimas versões, incluindo 18.04
- Tentei excluir o arquivo .desktop e usar a GUI dos aplicativos de inicialização
- Tentei remover a
if [[ -n ${DISPLAY} ]]; then
condição - 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.sh
em Preferências de aplicativos de inicialização.